通常会设置的DataGridView的属性 AllowUserToAddRows False 指示是否向用户显示用于添加行的选项列标题下面的一行空行将消失一般让其消失 AllowUserToDeleteRows False 指示是否允许用户从DataGridView删除行一般不允许 AllowUserToOrderColumns False 指示是否启用手动列重新放置一般不允许 AllowUserToResizeColumns True 指示用户是否可以调整列的大小一般允许 AllowUserToResizeRows False 指示用户是否可以调整行的大小一般不允许 AutoSizeColumnsMode Fill 确定可见列的自动调整大小模式 BorderStyle None/FixedSingle/FixedD DataGridView的边框样式 GridColor 任意 分隔DataGridView单元格的网格线的颜色 MultiSelect False 指示用户一次是否可以选择DataGridView的多个单元格行或列 ReadOnly True 指示用户是否可以编辑DataGridView控件的单元格 RowHeadersVisible False 指示是否显示包含行标题的列 SelectionMode FullRowSelected 指示如何选择DataGridView的单元格
如何获取用户所选的那个单元格中的内容? string oop = thisDataGridViewSelectedRows[]Cells[]ValueToString()Trim(); 上面语句的意思是将用户所选的第一行中第一个单元格中的值转换为String类型并去处两边的空格赋值给oop字符串
如何获取用户所选的那行中我想得到的单元格中的内容? string loginID = thisDataGridViewRows[eRowIndex]Cells[LoginID]ValueToString()Trim(); eRowIndex 获取触发此单击事件时用户所选行的下标 上面的语句写在DataGridView控件的单击事件中双击事件也可以LoginID是DataGridView控件中一列的列名作用就是获取用户选中那一行的表示LoginID的内容
如何确定用户是否选择了DataGridView中的一行数据而没有点到别处呢? if (thisDataGridViewSelectedRowsCount != ) {}
如何将用户所选的那行数据整体获取出来? 前提是DataGridView的数据源是一个实体类集合这样DataGridView中的每行数据才都是一个实体类对象将DataGridView中的一行数据整体获取出来才有意义 Student student = thisDataGridViewSelectedRows[]DataBoundItem as Student; 一般上面的语句都写在DataGridView的单击或双击事件中
弄不好在DataGridView中会显示多余的列如何避免这种问题呢? 在DataGridView控件的Load事件的第一行写上这样的代码 private void frmMain_Load(object sender EventArgs e) { thisdataGridViewAutoGenerateColumns = false; //让它不自己产生多余的列 }
DataGridView 控件的 Columns 属性中 (Name) 属性是为此控件的列命名可以输入任何名字DataPropertyName 是绑定于 DataSet 中表的列必须与你要调用的表的列的名字相同HeaderText 是运行时显示在 DataGridView 中每列的标题 |