我想知道如何在设置DataGridView的DataSource属性后创建和填充未绑定的列值。 假设我们的数据库中有两个简单的表: TBLTEST:
我在form1中有datagridview命名为grid:
DataTable tblTest = new DataTable();//Select * from tblTest
...
grid.DataSource = tblTest;
????
我将用什么替换???添加未绑定的百分比列,显示tblTest行中所有数据的填充百分比。 我们的计算必须在代码方面进行,而不是在DB方面...... 谢谢你:))
答案 0 :(得分:2)
只需将列添加到DataTable
并以相同的方式使用它来添加到网格DataSource
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;