请教:C#Windows 应用程序Datagrid 新增一行数据到指定行 还想请假一个问题:如何设置DatagGrid中各列得宽度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一个问题:你的DataGrid应该绑定数据源了吧,所以你在获得DataSet之前的SQL Table中加一列id.这样你新添加行时,如是指定行(如id=20)上方,则先update指定行及其后的所有行id=id+1,令insert行的id=20,再重新绑定即可.第二个问题:看看以下的例子即可. private void rbtnRefreshPg19_Click(object sender, System.EventArgs e) { try { ExecuteDBCommand.ExeDBCmd ExeDBSP=new ExecuteDBCommand.ExeDBCmd(); DataSet ds=new DataSet(); ds=ExeDBSP.ShowAssignPermInforByName(cmbQyEmpcodePg19.Text.Trim()); DataGridTableStyle tableStyle = new DataGridTableStyle(); //实现行与行见颜色交替: tableStyle.AlternatingBackColor = System.Drawing.Color.LightYellow; //如果不是"TableName",则不能实现选择整行的功能: tableStyle.MappingName = "TableName"; //hide the column headers tableStyle.ColumnHeadersVisible =true; //change width of the row headers tableStyle.RowHeaderWidth = 100; int numCols = ds.Tables[0].Columns.Count; DataGridNoActiveCellColumn aColumnTextColumn; for(int i = 0; i < numCols; ++i) { aColumnTextColumn = new DataGridNoActiveCellColumn(); aColumnTextColumn.HeaderText =ds.Tables[0].Columns[i].ColumnName; aColumnTextColumn.MappingName = ds.Tables[0].Columns[i].ColumnName; tableStyle.GridColumnStyles.Add(aColumnTextColumn); tableStyle.GridColumnStyles[i].Width = 45; } //某些列的宽度需特别设定. tableStyle.GridColumnStyles[0].Width = 80; tableStyle.GridColumnStyles[1].Width = 120; tableStyle.GridColumnStyles[6].Width = 220; tableStyle.GridColumnStyles[7].Width = 0; tableStyle.GridColumnStyles[8].Width = 0; // make the dataGrid use our new tablestyle and bind it to our table dtgridRightInforPg19.TableStyles.Clear(); dtgridRightInforPg19.TableStyles.Add(tableStyle); dtgridRightInforPg19.DataSource = ds.Tables[0].DefaultView; } catch(Exception ex) { dtgridRightInforPg19.DataSource=null; ex.ToString(); } } string.Format不理解 能否将语句:A.x=1; A.y=2; 改用类似的: .x=1; .y=2; C# 怎样往WORD文档中输入文本 一个C#智能设备开发问题 100分求解:C#写的dll,在VC 6.0中怎么调用? [100]编译器问题:不知何时自动更新后,启动vs总默认中文输入法? 能帮忙解释一下最后两个的结果吗? 菜鸟请教 DataGrid问题: C#后台模拟人工手动操作web页面 请大家帮一下,我明天项目就到期了,又遇到问题!!! 大家能不能给我一个c#与VB之间通信的例子,越简单越好!!
第二个问题:看看以下的例子即可.
private void rbtnRefreshPg19_Click(object sender, System.EventArgs e)
{
try
{
ExecuteDBCommand.ExeDBCmd ExeDBSP=new ExecuteDBCommand.ExeDBCmd();
DataSet ds=new DataSet();
ds=ExeDBSP.ShowAssignPermInforByName(cmbQyEmpcodePg19.Text.Trim());
DataGridTableStyle tableStyle = new DataGridTableStyle();
//实现行与行见颜色交替:
tableStyle.AlternatingBackColor = System.Drawing.Color.LightYellow;
//如果不是"TableName",则不能实现选择整行的功能:
tableStyle.MappingName = "TableName";
//hide the column headers
tableStyle.ColumnHeadersVisible =true;
//change width of the row headers
tableStyle.RowHeaderWidth = 100;
int numCols = ds.Tables[0].Columns.Count;
DataGridNoActiveCellColumn aColumnTextColumn;
for(int i = 0; i < numCols; ++i)
{
aColumnTextColumn = new DataGridNoActiveCellColumn();
aColumnTextColumn.HeaderText =ds.Tables[0].Columns[i].ColumnName;
aColumnTextColumn.MappingName = ds.Tables[0].Columns[i].ColumnName;
tableStyle.GridColumnStyles.Add(aColumnTextColumn);
tableStyle.GridColumnStyles[i].Width = 45;
}
//某些列的宽度需特别设定.
tableStyle.GridColumnStyles[0].Width = 80;
tableStyle.GridColumnStyles[1].Width = 120;
tableStyle.GridColumnStyles[6].Width = 220;
tableStyle.GridColumnStyles[7].Width = 0;
tableStyle.GridColumnStyles[8].Width = 0;
// make the dataGrid use our new tablestyle and bind it to our table
dtgridRightInforPg19.TableStyles.Clear();
dtgridRightInforPg19.TableStyles.Add(tableStyle);
dtgridRightInforPg19.DataSource = ds.Tables[0].DefaultView;
}
catch(Exception ex)
{
dtgridRightInforPg19.DataSource=null;
ex.ToString();
}
}