我绑定了两列数据。
我改变数量那列数值的时候,我想联动经过计算改变总数那列值。例如:
改变前 改变后
数量 总数 数量 总数
1 10 10 100其实就是数量乘以10直接改变总数那列的值。
10*10=100 就是总数的值。
不知道我描述清楚了没有!请各位前辈指正。DataGridViewTextBoxColumn txtNum = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn txtCount = new DataGridViewTextBoxColumn(); private void Form1_Load(object sender, EventArgs e)
{
txtNum.DataPropertyName = "Num";
txtNum.HeaderText = "数量";
txtCount.DataPropertyName = "Count";
txtCount.HeaderText = "总数"; dataGridView1.Columns.AddRange(new DataGridViewColumn[] { txtNum, txtCount }); dataGridView1.DataSource = DataGridBindData();
} private DataTable DataGridBindData()
{
DataTable dtData = new DataTable();
dtData.Columns.Add("Num",typeof(int));
dtData.Columns.Add("Count",typeof(int));
DataRow drData;
drData = dtData.NewRow();
drData[0] = 1;
drData[1] = 10;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[0] = 2;
drData[1] = 20;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[0] = 3;
drData[1] = 30;
dtData.Rows.Add(drData);
return dtData;
}
我改变数量那列数值的时候,我想联动经过计算改变总数那列值。例如:
改变前 改变后
数量 总数 数量 总数
1 10 10 100其实就是数量乘以10直接改变总数那列的值。
10*10=100 就是总数的值。
不知道我描述清楚了没有!请各位前辈指正。DataGridViewTextBoxColumn txtNum = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn txtCount = new DataGridViewTextBoxColumn(); private void Form1_Load(object sender, EventArgs e)
{
txtNum.DataPropertyName = "Num";
txtNum.HeaderText = "数量";
txtCount.DataPropertyName = "Count";
txtCount.HeaderText = "总数"; dataGridView1.Columns.AddRange(new DataGridViewColumn[] { txtNum, txtCount }); dataGridView1.DataSource = DataGridBindData();
} private DataTable DataGridBindData()
{
DataTable dtData = new DataTable();
dtData.Columns.Add("Num",typeof(int));
dtData.Columns.Add("Count",typeof(int));
DataRow drData;
drData = dtData.NewRow();
drData[0] = 1;
drData[1] = 10;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[0] = 2;
drData[1] = 20;
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[0] = 3;
drData[1] = 30;
dtData.Rows.Add(drData);
return dtData;
}
column("count")=column("num")*10
在CellValueChanged这个事件里!
private void dgvPrice_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
try
{
if (e.ColumnIndex == 9)//判断一下是否是定量那一列
{
float count = Convert.ToInt32(this.dgvPrice.Rows[e.RowIndex].Cells[9].Value) * (float)this.dgvPrice.Rows[e.RowIndex].Cells[6].Value;
this.dgvPrice.Rows[e.RowIndex].Cells[10].Value = Math.Round(count,2);
}
}
catch (Exception ex)
{
}
}