【问题标题】:DataGridView row header click giving last selected columns indexDataGridView 行标题单击给出最后选择的列索引
【发布时间】:2018-04-04 04:09:33
【问题描述】:

我正在使用 CellClick 事件来点击行和列。

现在当点击行标题时,它会给我最后一列选择的索引。

这会给我带来问题,因为我需要对当前选定的行和列执行操作。我该如何解决这个问题?我已经看到了大量的帮助,但所有这些都在谈论列标题点击。

这是我在单击单元格时检查行和列索引的基本测试

private void dgvUsers_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (dgvUsers.CurrentRow == null || dgvUsers.IsLoading()) return;

        var row = dgvUsers.CurrentCell.RowIndex; //CurrentRow.Index;
        var col = dgvUsers.CurrentCell.ColumnIndex;
        var ugactive = _ugActive;
    }

在上面的代码中,IsLoading 只是一个扩展方法,用于检查放置在标签内的特定文本。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    DataGrdViewCellClick() 事件中,可以通过检查DataGridViewCellEventArgs e 参数来确定当前单击的单元格,其中e.RowIndexe.ColumnIndex 值报告单击的单元格列和行的引用索引。

    这也适用于列和行标题。在这种情况下,报告的值为负 (-1)。

    例如,如果单击 Column 标题,e.ColumnIndex 将报告 Column 的索引,而 e.RowIndex 将是 -1。行标题则相反。

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        //(...)
        var row = e.RowIndex;
        var col = e.ColumnIndex;
        //(...)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多