首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c1 truedbgrid使第三列通过两列的值自动计算

c1 truedbgrid使第三列通过两列的值自动计算
EN

Stack Overflow用户
提问于 2018-04-24 02:41:31
回答 1查看 443关注 0票数 0

数据集代码:

代码语言:javascript
复制
DataSet ds = new DataSet();

DataTable dt = new DataTable();
dt.Columns.Add("DENOMINATION");
dt.Columns.Add("COUNT");
dt.Columns.Add("TOTAL");

dt.Rows.Add(new object[] { "1000", "0", "0" });
dt.Rows.Add(new object[] { "500", "0", "0" });
dt.Rows.Add(new object[] { "200", "0", "0" });
dt.Rows.Add(new object[] { "100", "0", "0" });
dt.Rows.Add(new object[] { "50", "0", "0" });
dt.Rows.Add(new object[] { "20", "0", "0" });
dt.Rows.Add(new object[] { "10", "0", "0" });
dt.Rows.Add(new object[] { "5", "0", "0" });
dt.Rows.Add(new object[] { "1", "0", "0" });
dt.Rows.Add(new object[] { "0.25", "0", "0" });
dt.Rows.Add(new object[] { "0.10", "0", "0" });
dt.Rows.Add(new object[] { "0.05", "0", "0" });

ds.Tables.Add(dt);

dgDENOM.AllowUpdate = true;
dgDENOM.SetDataBinding(dt, "", true);

在UI中:

代码语言:javascript
复制
DENOMINATION    COUNT     TOTAL
1000            0         0
500             0         0

在实时/运行时,我想要的是列计数,在那之后,总计=面额*计数的值将被修改。我会把它放在数据库网格的一个事件上。

样本输出

代码语言:javascript
复制
DENOMINATION    COUNT     TOTAL
1000            5         5000
500             4         2000
EN

回答 1

Stack Overflow用户

发布于 2018-04-24 04:25:43

在c1TrueDbGrid中,可以有一个未绑定的列。

使用C1TrueDBGrid.UnboundColumnFetch事件填充该列。

UnboundColumnFetchEventArgs类包含网格行、列和列索引的只读属性以及值的读/写属性。

使用Value属性为每行设置单元格值--如下所示(未经测试):

代码语言:javascript
复制
private void c1TrueDBGrid1_UnboundColumnFetch(object sender, UnboundColumnFetchEventArgs e)
{
    var row = e.Row;
    var denomination = (int)grid.Columns["DENOMINATION"].CellValue(row);
    var count = (int)grid.Columns["COUNT"].CellValue(row);
    e.value = denomination * count;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49992656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档