如何让Winform中GridControl启动时默认无选中项
解决GridControl启动时自动选中第一行的问题
假设你使用的是DevExpress WinForms GridControl(这是最常见的GridControl场景),可以通过以下两种方式实现启动时不选中任何行:
方法1:利用DataBindingComplete事件
在数据绑定完成后清除选中状态,确保时机正确:
private void gridControl1_DataBindingComplete(object sender, DevExpress.XtraGrid.Views.Base.GridViewEventArgs e) { // 清除所有选中行 gridView1.ClearSelection(); // 将焦点行设为无效值,避免默认选中 gridView1.FocusedRowHandle = DevExpress.XtraGrid.GridControl.InvalidRowHandle; }
需要先在设计器或代码中给gridControl1绑定DataBindingComplete事件。
方法2:手动加载数据后直接设置
如果是手动触发数据绑定,在数据源赋值完成后立即执行清除操作:
// 绑定数据源 gridControl1.DataSource = yourDataCollection; // 清除选中并取消焦点行 gridView1.ClearSelection(); gridView1.FocusedRowHandle = DevExpress.XtraGrid.GridControl.InvalidRowHandle;
如果你使用的是.NET原生的DataGridView(有时也被误称为GridControl),可以这样处理:
private void Form_Load(object sender, EventArgs e) { dataGridView1.DataSource = yourDataSource; // 清除选中项 dataGridView1.ClearSelection(); // 取消当前单元格焦点 dataGridView1.CurrentCell = null; }
内容的提问来源于stack exchange,提问作者Emirhan Çolak
相关产品推荐
相关产品推荐

