DataGridView设置为全行选择。 需要一种方法DataGridView默认行/单元格选择问题
我也使用SelectionChanged事件 这DGV有4列
,如果我离开默认的行选择以清除的DataGridView的默认性质所做的默认选择行多数民众赞成,的SelectionChanged火灾4倍当它的装载我不希望它开火。
我已经尝试使用RowsPostPaint事件清除选择并不会触发SelectionChanged事件,但我无法选择任何行后。
任何想法? 谢谢
DataGridView设置为全行选择。 需要一种方法DataGridView默认行/单元格选择问题
我也使用SelectionChanged事件 这DGV有4列
,如果我离开默认的行选择以清除的DataGridView的默认性质所做的默认选择行多数民众赞成,的SelectionChanged火灾4倍当它的装载我不希望它开火。
我已经尝试使用RowsPostPaint事件清除选择并不会触发SelectionChanged事件,但我无法选择任何行后。
任何想法? 谢谢
要取消选择初始行选择,您可以枚举SelectedRows
并将Selected
属性设置为false
。为防止在选择初始行时触发SelectionChanged
事件,请在取消选择后手动添加事件。
例如,在窗体的Load
事件:
datagridview.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(datagridview_DataBindingComplete);
和听众:
private void datagridview_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
datagridview.ClearSelection();
}
弼
foreach(DataGridViewRow row in dataGridView1.SelectedRows)
row.Selected = false;
dataGridView1.SelectionChanged += dataGridView1_SelectionChanged;
一直试图以某种方式实现上述,但有问题。 这里是应用程序的运行: ListView,具有多个选项卡的TabControl。 在几个选项卡中包含DataGridViews。 从ListView中选择项目填充选项卡/ DataGridView的所有数据 从ListView中选择项目时,它将选项卡索引重置为0,该选项卡不包含dgv。 当填充数据时,我需要清除默认选中的行,因为我使用的是SelectedChanged,所以始终是第一个填充的行。 – Tsukasa
在ListView中选择一个新项目并清除dgv,以再次触发SelectedChanged事件的新数据 并且需要在再次击中事件之前将其清除。 希望我解释这一点以及我可以 – Tsukasa
使用形式加载这个
不e任何时候改变默认选择隐藏的数据源。
此外,DataBindingComplete不只是在数据绑定完成时运行,而且只要绑定了*单元格*。所以如果你想做比选择清理更重要的事情,那么这件事情如果没有比无用的更糟糕,那么它几乎是无用的。 –
填充数据网格后,试试这个。
datagrid.ClearSelection();
目前我的工作是在下面,但有没有更好的方法? 我存储int p = 0 然后我运行,如果p!= 3;的p ++; ClearSelection 一旦值达到3,它继续SelectionChanged方法 – Tsukasa