c# winform DatagridView使用总结
1.不显示第一个空白列
RowHeaderVisible属性设置为false
2.点击cell选取整行
RowSelectinModel属性设置
或用CellClick事件也可以
3.添加按钮图片按钮列事件
按钮上要显示文字要设置Text属性。默认是没有值的。但还没搞清楚,为什么DataPropertyName绑定字段,不显示。所以想获得如ID这些识别记录的值只有放到其他列了。
4.添加外部按钮取得选取列
5.其他设置的。
是否允许多行选取:MultiSelect 。
不自动绑定数据表里的字段。
让最后一列宽度延伸满适应上级的宽度:设置改列AutoSizeModel为Fill
RowHeaderVisible属性设置为false
2.点击cell选取整行
RowSelectinModel属性设置
或用CellClick事件也可以
//整行选取
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//e.RowIndex > -1否则点击header也是叫一列
if (dataGridView1.Rows.Count > 0 && e.RowIndex > -1)
{
//MessageBox.Show(e.RowIndex.ToString());
dataGridView1.Rows[e.RowIndex].Selected = true;
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//e.RowIndex > -1否则点击header也是叫一列
if (dataGridView1.Rows.Count > 0 && e.RowIndex > -1)
{
//MessageBox.Show(e.RowIndex.ToString());
dataGridView1.Rows[e.RowIndex].Selected = true;
}
}
3.添加按钮图片按钮列事件
按钮上要显示文字要设置Text属性。默认是没有值的。但还没搞清楚,为什么DataPropertyName绑定字段,不显示。所以想获得如ID这些识别记录的值只有放到其他列了。
//按钮事件
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1)
{
MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString());
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1)
{
MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString());
}
}
4.添加外部按钮取得选取列
private void button1_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
MessageBox.Show(dataGridView1.SelectedRows[0].Cells[1].Value.ToString());
}
}
{
if (dataGridView1.SelectedRows.Count > 0)
{
MessageBox.Show(dataGridView1.SelectedRows[0].Cells[1].Value.ToString());
}
}
5.其他设置的。
是否允许多行选取:MultiSelect 。
不自动绑定数据表里的字段。
让最后一列宽度延伸满适应上级的宽度:设置改列AutoSizeModel为Fill