DataGridView默认行/单元格选择问题

发布于 2024-12-08 19:20:11 字数 269 浏览 1 评论 0原文

DataGridView 设置为“全行选择”。 需要一种方法来清除由 DataGridView 的默认性质完成的默认选定行

我也在使用 SelectionChanged 事件 该 dgv 有 4 列

如果我保留默认行选择,SelectionChanged 在加载时会触发 4 次,但我根本不希望它触发。

我尝试使用 RowsPostPaint 事件来清除选择并且不会触发 SelectionChanged 事件,但我无法选择之后的任何行。

有什么想法吗? 谢谢

DataGridView set to Full Row Select.
Need a way to clear the default selected row thats done by the default nature of DataGridView

I am also using SelectionChanged event
That dgv has 4 columns

If i leave the default row selection, SelectionChanged fires 4 times when its loaded which I don't want it to fire at all.

I have tried using the RowsPostPaint event which clears the selection and doesn't fire the SelectionChanged event but i'm unable to select any rows after.

Any ideas?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

转瞬即逝 2024-12-15 19:20:11

要取消选择初始行选择,您可以枚举 SelectedRows 并将 Selected 属性设置为 false。要防止在选择初始行时触发 SelectionChanged 事件,请在取消选择后手动添加该事件。

例如,在表单的 Load 事件中:

foreach(DataGridViewRow row in dataGridView1.SelectedRows)
    row.Selected = false;

dataGridView1.SelectionChanged += dataGridView1_SelectionChanged;

To de-select the initial row selection, you can enumerate the SelectedRows and set the Selected property to false. To prevent the SelectionChanged event from firing when the initial row is selected, add the event manually, after you de-select it.

For example, in the form's Load event:

foreach(DataGridViewRow row in dataGridView1.SelectedRows)
    row.Selected = false;

dataGridView1.SelectionChanged += dataGridView1_SelectionChanged;
我早已燃尽 2024-12-15 19:20:11

使用它

在表单加载中

     datagridview.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(datagridview_DataBindingComplete);

:对于侦听器:

    private void datagridview_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        datagridview.ClearSelection();
    }

但请注意,每当您更改数据源时,您的默认选择都会隐藏。

use this

in form loading:

     datagridview.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(datagridview_DataBindingComplete);

and for the listener:

    private void datagridview_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        datagridview.ClearSelection();
    }

bute note that anytime you change datasource your default selection hides.

燕归巢 2024-12-15 19:20:11

填充数据网格后,尝试这个。

datagrid.ClearSelection();

After populating datagrid,try this one.

datagrid.ClearSelection();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文