public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.DataSourceChanged += new EventHandler(dataGridView1_DataSourceChanged);
dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);
}

private void Form1_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=pubs;Integrated Security=True");
using (SqlDataAdapter da = new SqlDataAdapter("select * from jobs", conn))
{
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler(dataGridView1_RowsAdded);
dataGridView1.RowsRemoved += new DataGridViewRowsRemovedEventHandler(dataGridView1_RowsRemoved);
}

private void dataGridView1_DataSourceChanged(object sender, EventArgs e)
{
TextSum();
}

private void TextSum()
{
//throw new Exception("The method or operation is not implemented.");
int x1 = 0;
int x2 = 0;
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
if (!IsNullOrEmpty(dr.Cells["min_lvl"].Value))
x1 += Convert.ToInt32(dr.Cells["min_lvl"].Value.ToString());

if (!IsNullOrEmpty(dr.Cells["max_lvl"].Value))
x2 += Convert.ToInt32(dr.Cells["max_lvl"].Value.ToString());
}
textBox1.Text = x1.ToString();
textBox2.Text = x2.ToString();
}

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
dataGridView1_DataSourceChanged(null, null);
}

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
dataGridView1_DataSourceChanged(null, null);
}

private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
{
dataGridView1_DataSourceChanged(null, null);
}

private bool IsNullOrEmpty(object value)
{
if (value != null)
return value.ToString() == string.Empty;
return true;
}

private bool IsNullOrWhite(object value)
{
if (value != null)
return value.ToString().Trim() == string.Empty;
return true;
}
}

最新文章

  1. IKONS – 赞!264 款手工打造的免费矢量图标
  2. PlantUML的实例参考
  3. UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence
  4. ABAP 权限程序
  5. saybyeto2015
  6. Unity3D ShaderLab 漫反射卷积光照模型
  7. opengl基础学习专题 (二) 点直线和多边形
  8. codeforces Winner
  9. wordpress教程之自带缩略图功能
  10. php命名空间使用
  11. 人迹罕至的android要完全退出程序的一种方法
  12. 两台linux利用heartbeat+drbd 完美实现双机热备
  13. C++ 虚基类表指针字节对齐
  14. node.js零基础详细教程(6):mongodb数据库操作
  15. docker学习(一)
  16. 剑指架构师系列-MySQL调优
  17. cookiejar
  18. ELK-logstash-6.3.2部署
  19. BZOJ.5137.Standing Out from the Herd(广义后缀自动机)
  20. [No0000135]程序员修炼之道 Tips

热门文章

  1. DX使用随记--其他
  2. 第一章、Django概述
  3. Oracle笔记(十五) 数据库备份
  4. XXX_initcall()函数分析
  5. C 动态内存申请
  6. vim文本编辑及文件查找应用2
  7. 3. Dictionaries and Sets
  8. Appium&Java自动化实现移动端几种典型动作
  9. PAT乙级1042
  10. BZOJ 2178: 圆的面积并 (辛普森积分)