【问题标题】:Able to select a row but shouldn't select the last column in that row in a DataGridView能够选择一行,但不应选择 DataGridView 中该行的最后一列
【发布时间】:2017-04-23 09:21:28
【问题描述】:

我有大约 5 列的 DataGridView,最后一列是 DataGridViewLinkColumn 类型。所以这里的要求是我应该能够选择我想要的任何行,当我这样做时,应该选择除该选定行中的最后一列之外的所有列。由于最后一列包含超链接文本,并且编写了一些旨在运行的函数。

目前我已将选择模式设置为FullRowSelect。

为了达到要求,我尝试将模式设置为 CellSelect,并在 CellContentClick 中为选定行的特定列设置“Selected”属性。但是选择没有正确进行。我一点击它就会消失。我也尝试在 CellMouseUp 中放入相同的逻辑,但它也不起作用。

请建议我实现要求的方法或解决方法。

非常感谢!

【问题讨论】:

  • CellContentClick 对它的名字真的很认真。从来不推荐。 但是选择没有正确进行。我一点击它就会消失。 不正确??点击哪里???
  • @TaW CellContentClick 是我在这里指的一个事件。我正在单击 DataGridView 的行。当我单击时,选择不是持久的。它很快就会消失。而且我们将无法查看是否选择了某些内容。

标签: c# winforms datagridview fullrowselect


【解决方案1】:

首先将SelectionMode 设置为CellSelect。然后编码SelectionChanged事件:

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
    foreach (DataGridViewCell c in dataGridView1.CurrentRow.Cells)
            c.Selected = c.ColumnIndex != 4;
}

请注意,这没有取消选择行的规定!

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 2020-10-22
    • 2021-10-14
    • 2019-08-06
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    相关资源
    最近更新 更多