1、如何在winform的DataGrid中设置ColumnHeader的值,如select AA,BB from table绑订到DataGrid
ColumnHeader就会显示AA,BB。
能不能直接设置这个值,不用select语句?2、如何在DataGrid中插入空白的行。
3、如何计算DataGrid中同一行中第一列和第二列的和,结果添加到第三列?
谢谢。
ColumnHeader就会显示AA,BB。
能不能直接设置这个值,不用select语句?2、如何在DataGrid中插入空白的行。
3、如何计算DataGrid中同一行中第一列和第二列的和,结果添加到第三列?
谢谢。
2。绑定数据了new一条新数据。
public static void IniControl_dg(string[] column,string[] name,string table,DataGrid dg)
{
//column:需要显示的列
//name:显示的列的别名
//table:表名
//dg:控件
SqlConnection conn=new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;Initial Catalog=jgoa");
//conn.Open();
string selectcom="select * from "+table+" "+conditions;
SqlDataAdapter dapt=new SqlDataAdapter(selectcom,conn);
DataSet ds=new DataSet();
dapt.Fill(ds,"new");
dg.DataSource=ds;
dg.DataMember="new";
try
{
dg.TableStyles.Clear();
DataGridTableStyle MyStyle = new DataGridTableStyle();
MyStyle.MappingName = "new";
MyStyle.RowHeadersVisible=false;
dg.TableStyles.Add(MyStyle); //将列表中的列全部隐藏
foreach(DataColumn col in ds.Tables["new"].Columns)
{
MyStyle.GridColumnStyles[col.ColumnName].Width=0;
} //显示需要显示的列,并更名.
foreach(DataColumn col in ds.Tables["new"].Columns)
{
for(int i=0;i<column.Length;i++)
{
if(col.ColumnName==column[i])
{
//MessageBox.Show(column[i]);
MyStyle.GridColumnStyles[column[i]].HeaderText=name[i];
MyStyle.GridColumnStyles[column[i]].Width=dg.Width/column.Length;
}
}
}
}
catch(Exception exc)
{
MessageBox.Show(exc.Message);
} }
DataTable dt;
dt=new DataTable();
dt.Columns.Add("tt");
dt.Columns.Add("aa");
dt.Columns.Add("cc");
dt.Columns.Add("dd");
dt.Columns.Add("ee");
for (int i=0 ;i<10 ;i++)
{
DataRow dr=dt.NewRow();
dr[0]=i+1;
dr[1]=i+2;
dr[2]=i+3;
dr[3]=i+4;
dr[4]=i+5;
dt.Rows.Add(dr);
}
dt.Columns[0].ColumnName="第一列";
dataGrid1.DataSource=dt;
如
DataRow dr=dt.NewRow();
dt.Rows.Add(dr);
DataTable dt1;
dt1=new DataTable();
dt1.Columns.Add("tt");
dt1.Columns.Add("aa");
dt1.Columns.Add("cc");
dt1.Columns.Add("dd");
dt1.Columns.Add("ee");
for (int i=0 ;i<10 ;i++)
{
DataRow dr=dt1.NewRow();
dr[0]=i+1;
dr[1]=i+2;
dr[2]=i+3;
dr[3]=i+4;
dr[4]=i+5;
dt1.Rows.Add(dr);
}
dt1.Columns.Add("rr");
dt1.Columns[5].Expression="Convert(tt, 'System.Int32')+Convert(aa, 'System.Int32')";
dataGrid1.DataSource=dt1;
2.DataRow NewRow=DataTable.NewRow();
DataTable.Rows.Add(NewRow);
3.我觉得你可以通过数据库表中的属性来定义,
比如某一列的formula 为([id] + [state])这样就可以了。