【问题标题】:DataGridView make row headers unable to selectDataGridView 使行标题无法选择
【发布时间】:2013-12-23 11:32:24
【问题描述】:

我在 C# 上有一个 datagridview,当我单击 行标题 时,它会选择行和标题。

我想要的是当用户单击左侧的行标题时。它必须选择整行除了标题本身,而标题仍然有效。像这样 :

我不想将行标题的可见性更改为 false。我不想选择行标题值,因为此网格视图将用于以正确的格式将数据复制到 excel 中。 (不是导出,只是复制粘贴)

【问题讨论】:

    标签: c# .net winforms datagridview


    【解决方案1】:

    您可以将DataGridViewRowHeadersVisible属性设置为false

    试试这个:

    dataGridView1.RowHeadersVisible = false;
    

    【讨论】:

    • 正如我在问题中所说,我不希望行标题不可见。
    【解决方案2】:

    这可能会解决您的问题

    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    

    并将dataGridView1.RowHeadersDefaultCellStyle设置为与dataGridView1.DefaultCellStyle相同

    【讨论】:

    • 它仍然选择行标题。我不希望它选择行标题。
    • @Ozan Ayten 试试dataGridView1.SelectionMode = DataGridViewSelectionMode.FullColumnSelect ...但它有一定的限制..请试试这个并回复
    • 还是没有。我认为方法应该不同。像 dataGridView1_RowHeaderMouseClick { Select whole row but not header itself } 但我不知道如何将这些语句放入代码中。
    【解决方案3】:

    试试下面的代码。

    private void dataGridView1_RowHeaderMouseClick (object sender, DataGridViewCellMouseEventArgs e)
        {
            this.dataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect;
    
            foreach(DataGridViewCell cell in this.dataGridView1.CurrentRow.Cells)
            {
                cell.Selected = true;
            }
        }
    

    (如果这正是您所需要的,请尝试接受答案。)

    【讨论】:

    • 这不是我想要的。它为一个细胞完成了这项工作。在第一次点击标题后也会失去功能。但想法似乎还可以。我会努力改进。
    【解决方案4】:

    您可以尝试设置RowHeadersDefaultCellStyle
    SelectionBackColor 设置为与BackColor 相同
    SelectionForeColor设置为与ForeColor相同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      相关资源
      最近更新 更多