View Full Version : ایجاد ستون جدید در دیتاگرید ویو
babak23
سه شنبه 20 فروردین 1387, 14:32 عصر
سلام
من یک دیتاگرید ویو دارم که یک تیبل به او بایند شده است این تیبل دارای دو فیلد A و B هست حال من میخوام یک ستون جدید در دیتاگرید ویو ایجاد کنم که جمع این دو را نشان دهد مثلا ستون C=A+b; c
باتشکر
علیرضا مداح
سه شنبه 20 فروردین 1387, 14:35 عصر
سلام ،
برای اینکار میتوانید از پروپرتی Expression مربوط به شی ء DataColumn استفاده نمایید ،
مثالی از MSDN :
private void CalcColumns()
{
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";
// Add columns to DataTable.
table.Columns.Add(priceColumn);
table.Columns.Add(taxColumn);
table.Columns.Add(totalColumn);
DataRow row = table.NewRow();
table.Rows.Add(row);
DataView view = new DataView(table);
dataGrid1.DataSource = view;
}
babak23
سه شنبه 20 فروردین 1387, 14:44 عصر
سلام ،
برای اینکار میتوانید از پروپرتی Expression مربوط به شی ء DataColumn استفاده نمایید ،
مثالی از MSDN :
private void CalcColumns()
{
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";
// Add columns to DataTable.
table.Columns.Add(priceColumn);
table.Columns.Add(taxColumn);
table.Columns.Add(totalColumn);
DataRow row = table.NewRow();
table.Rows.Add(row);
DataView view = new DataView(table);
dataGrid1.DataSource = view;
}
اما این جواب سوال نبود
ezamnejad
سه شنبه 20 فروردین 1387, 15:17 عصر
میتونید موقع دریافت اطلاعات از تیبل این فیلد را ایجاد کنید .
SELECT A, B, A+B AS ColumnName FROM TableName
smt_414
سه شنبه 20 فروردین 1387, 16:38 عصر
سلام
من یک دیتاگرید ویو دارم که یک تیبل به او بایند شده است این تیبل دارای دو فیلد A و B هست حال من میخوام یک ستون جدید در دیتاگرید ویو ایجاد کنم که جمع این دو را نشان دهد مثلا ستون C=A+b; c
تو این قطعه کد تمام کارها تو خود برنامه انجام میشه
void add()
{
dataGridView1.Columns.Add("C", "حاصلجمع");
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1.Rows[i].Cells["C"].Value = Convert.ToInt32(dataGridView1.Rows[i].Cells["A"].Value.ToString()) + Convert.ToInt32(dataGridView1.Rows[i].Cells["B"].Value.ToString());
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.