数据网格if/then行计算
本文关键字:then 计算 if 数据网 网格 数据 | 更新日期: 2023-09-27 18:13:32
在c#中,我建立了一个连接到数据网格的数据表,该数据网格有三列:id1, id2和sum。
我想把id1和id2加到列"sum"中,但只有当sum大于x时(x将从textbox1提供)。
我有这段代码,但这默认添加所有列,不允许if/then语句。
column = new DataColumn();
column.DataType = Type.GetType("System.Double");
column.ColumnName = "sum";
table.Columns.Add(column);
table.Columns["sum"].Expression = "[id] * [id2]";
我想添加一个foreach (Datarow行在表。行)(),但这不允许我创建if then语句。
假设此时有x的值,只需在表达式中执行case语句。
输入-
table.Columns["sum"].Expression = "CASE WHEN [id] * [id2] > " + x + " THEN [id] * [id2] ELSE NULL END ";
顺便说一句,你想要乘积还是和?列名为sum,但得到的是乘积....只是好奇。
如果在查询时没有x,则必须在DataGrid的ItemDataBound事件中执行此操作。将sum列作为模板列,并在事件中计算它的值。