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