DataGridView 在此种情况下该用哪种事件 当列4值变时,列6值=列4*列5。该怎么做呀。谢谢各位指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //在EditingControlShowing为单元格设置事件处理程序private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e){ DataGridViewTextBoxEditingControl te =(DataGridViewTextBoxEditingControl)e.Control; te.Name = "列名"; te.TextChanged += new EventHandler(te_TextChanged);}然后就可以在te_TextChanged处理计算其他列了。 不需要事件,设置列的Expression属性就可以了。DataTable dt = new DataTable(); dt.Columns.Add("col1", typeof(int)); dt.Columns.Add("col2", typeof(int)); dt.Rows.Add(new object[] {2,3 }); dt.Rows.Add(new object[] { 11, 2 }); //在原表基础上增加表达式列 dt.Columns.Add("col12Val", typeof(int)); dt.Columns[2].Expression = "col1*col2"; dataGridView1.DataSource = dt; 3楼的方法比我好。确实是,设置列的计算表达式。DataColumn.Expression 属性 获取或设置表达式,用于筛选行、计算列中的值或创建聚合列。MSDN的例子: DataTable table = new DataTable (); // Create the first column. DataColumn priceColumn = new DataColumn(); priceColumn.DataType = System.Type.GetType("System.Decimal"); priceColumn.ColumnName = "price"; priceColumn.DefaultValue = 50; // Create the second, calculated, column. DataColumn taxColumn = new DataColumn(); taxColumn.DataType = System.Type.GetType("System.Decimal"); taxColumn.ColumnName = "tax"; taxColumn.Expression = "price * 0.0862"; // Create third column. DataColumn totalColumn = new DataColumn(); totalColumn.DataType = System.Type.GetType("System.Decimal"); totalColumn.ColumnName = "total"; totalColumn.Expression = "price + tax"; 部署安装,更改原程序名 mainfrom的相关操作 string???xml???? [分享]自己写的一个小程序《个人代码知识库》,含源码, 请教个问题 WinForm 之间交互操作 向高手请教:怎么添加不上? form编程中如何在datagrid中选中多行,并使用Ctrl+C能够将选定内容复制进剪贴板------急阿 在C#用odbc连接释放问题 怎么写C#实体类? C#中datagridview选中行后textbox显示选中的内容 为什么RtlMoveMemory老是失败?
//在EditingControlShowing为单元格设置事件处理程序
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
DataGridViewTextBoxEditingControl te =(DataGridViewTextBoxEditingControl)e.Control;
te.Name = "列名";
te.TextChanged += new EventHandler(te_TextChanged);
}
然后就可以在te_TextChanged处理计算其他列了。
dt.Columns.Add("col1", typeof(int));
dt.Columns.Add("col2", typeof(int));
dt.Rows.Add(new object[] {2,3 });
dt.Rows.Add(new object[] { 11, 2 });
//在原表基础上增加表达式列
dt.Columns.Add("col12Val", typeof(int));
dt.Columns[2].Expression = "col1*col2";
dataGridView1.DataSource = dt;
获取或设置表达式,用于筛选行、计算列中的值或创建聚合列。MSDN的例子:
DataTable table = new DataTable (); // Create the first column.
DataColumn priceColumn = new DataColumn();
priceColumn.DataType = System.Type.GetType("System.Decimal");
priceColumn.ColumnName = "price";
priceColumn.DefaultValue = 50; // Create the second, calculated, column.
DataColumn taxColumn = new DataColumn();
taxColumn.DataType = System.Type.GetType("System.Decimal");
taxColumn.ColumnName = "tax";
taxColumn.Expression = "price * 0.0862"; // Create third column.
DataColumn totalColumn = new DataColumn();
totalColumn.DataType = System.Type.GetType("System.Decimal");
totalColumn.ColumnName = "total";
totalColumn.Expression = "price + tax";