最新做一个项目,DataGrid中添加一个checkbox,在asp.net中可以用模板列,请问一下,在winform中,通过什么方式通过达到同样的效果!
解决方案 »
- 做医疗软件的都帮忙看下。。
- VS2010 的项目, 按 F5 调试可以让程序启动, 但是生成解决方案后的 .exe 启动不了. 求解.
- List链表的泛型编程问题
- 尝试创建Web项目或打开位于URL“http://localhost:90/WebApplication1”的Web项目时...【在线等...】
- 静态的东西如何理解?
- 如何将 文件D:\temp\001\1.xml 拷贝到 e:\myData\001\1.xml (需要同步创建e:\myData\001)
- 多线程问题...有兴趣的朋友进来看看
- [求助]C#多线程问题
- 在线等待;点击一个超级链接(文字),右边框架改变目标页面怎么实现?
- c++, delphi, c#,该选哪个
- ********* 向数据库 提交失败。 数据类型问题相关。
- 请教各位高手,窗体的刷新和重载有什么区别!谢谢
tbSourceTable = new DataTable ("table_Person");
string[] strTitles = new string [3]{"姓名","学历","职务"};
DataColumn colTextColumn = null;
//创建前面三列,全部是字符串类型,第一列列名为"姓名",第二列为“学历”,第三列“职务”
for(int i=0;i<3;i++)
{
colTextColumn = new DataColumn(strTitles[i]);
colTextColumn.DataType = Type.GetType("System.String");
colTextColumn.DefaultValue = "";
tbSourceTable.Columns.Add(colTextColumn);
}
//创建第四列,Bool类型,列名"在职"
DataColumn colBoolColumn = new DataColumn("在职");
colBoolColumn.DataType = System.Type.GetType("System.Boolean");
colBoolColumn.DefaultValue = false;
tbSourceTable.Columns.Add(colBoolColumn);///创建表结构结束dbgNewGrid.DataSource = tbSourceTable; //指定DataGrid数据源
if(!dbgNewGrid.TableStyles.Contains("Style_Person"))//为定义的DataGrid取名"Style_Person"
{
//定制DataGridTableStyle,用于整个DataGrid
DataGridTableStyle dgdtblStyle = new DataGridTableStyle();
dgdtblStyle.MappingName = tbSourceTable.TableName;
dbgNewGrid.TableStyles.Add(dgdtblStyle);
dgdtblStyle.RowHeadersVisible = false;
dgdtblStyle.HeaderBackColor = Color.LightSteelBlue;
dgdtblStyle.AllowSorting = false;
dgdtblStyle.HeaderBackColor = Color.FromArgb(8,36,107);
dgdtblStyle.RowHeadersVisible = false;
dgdtblStyle.HeaderForeColor = Color.White;
dgdtblStyle.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 9F,
System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
dgdtblStyle.GridLineColor = Color.DarkGray;
dgdtblStyle.PreferredRowHeight = 22;
dbgNewGrid.BackgroundColor = Color.White;
//定制DataGridTableStyle结束
//通过GridColumnStyles设置列属性,以下设置列的宽度
GridColumnStylesCollection colStyle = dbgNewGrid.TableStyles[0].GridColumnStyles;
colStyle[0].Width = 50;//姓名
colStyle[1].Width = 100;//学历
colStyle[2].Width = 50;//职务
colStyle[3].Width = 40;//是否在职
}
//下面定制“学历”列,这里若要定制其他列可以修改GridColumnStyles[1]中的数值
DataGridTextBoxColumn dgTextBoxColumn = (DataGridTextBoxColumn)dbgNewGrid.TableStyles[0].GridColumnStyles[1];
//定制为ComboBox类型,若想定义成其他类型的可以在这里定制
ComboBox dgComboBoxColumn = new ComboBox();
dgComboBoxColumn.Items.AddRange(new object[]{"本科","硕士","博士"});//添加选项
dgComboBoxColumn.Cursor = Cursors.Arrow;
dgComboBoxColumn.DropDownStyle= ComboBoxStyle.DropDownList;
dgComboBoxColumn.Dock = DockStyle.Fill;
///在选定项发生更改并且提交了该更改后发生dgComboBoxColumn.SelectionChangeCommitted += new EventHandler(dgComboBoxColumn_SelectionChangeCommitted);
///把ComboBox添加到DataGridTableStyle的第一列
///在原来微软默认的TextBox控件里面添加入你所定义的控件
dgTextBoxColumn.TextBox.Controls.Add(dgComboBoxColumn);