设置网格的数据源属性后,将未绑定的列添加到数据网格视图
本文关键字:网格 添加 数据网 视图 绑定 数据 属性 数据源 设置 | 更新日期: 2023-09-27 18:34:07
我想知道如何在设置DataGridView的数据源属性后创建和填充未绑定的列值。假设我们的数据库中有两个简单的表:测试:
- 身份证(整数)
- Fname (nvarchar(50)
- 人口(整数)
我的 form1 中有名为 grid 的数据网格视图:
DataTable tblTest = new DataTable();//Select * from tblTest
...
grid.DataSource = tblTest;
????
我将用???替换什么以添加未绑定的百分比列,该列显示 tblTest 行中所有数据的总体百分比。我们的计算必须在代码端而不是数据库端进行......谢谢:)
只需将列添加到DataTable
并以相同的方式使用它添加到网格数据源
DataTable tblTest = new DataTable(); //SELECT * FROM YourTable
//Calculate sum of population
Decimal overall = tblTest.AsEnumerable().Select(dr => dr.Field<Decimal>("Population")).DefaultIfEmpty().Sum();
tblTest.Columns.Add("Percentage", typeof(Decimal));
foreach(DataRow drow in tblTest.Rows)
{
Decimal percentage = YourPercentageCalculationResult; //Add you calculation
drow.SetField<Decimal>("Percentage", percentage);
}
//Create column "on runtime"
DataGridViewTextBoxColumn temp = New DataGridViewTextBoxColumn();
temp.DataPropertyName = "Percentage"
temp.ReadOnly = true;
grid.Columns.Add(temp);
grid.DataSource = tblTest;