PDA

View Full Version : ایجاد ستون جدید در دیتاگرید ویو



babak23
سه شنبه 20 فروردین 1387, 13:32 عصر
سلام

من یک دیتاگرید ویو دارم که یک تیبل به او بایند شده است این تیبل دارای دو فیلد A و B هست حال من میخوام یک ستون جدید در دیتاگرید ویو ایجاد کنم که جمع این دو را نشان دهد مثلا ستون C=A+b; c



باتشکر

علیرضا مداح
سه شنبه 20 فروردین 1387, 13: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, 13: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, 14:17 عصر
میتونید موقع دریافت اطلاعات از تیبل این فیلد را ایجاد کنید .


SELECT A, B, A+B AS ColumnName FROM TableName

smt_414
سه شنبه 20 فروردین 1387, 15: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());
}
}