【问题标题】:Make one cell editable in datagridview c#在datagridview c#中使一个单元格可编辑
【发布时间】:2015-01-11 14:35:21
【问题描述】:

我有一个具有 readonly = true 属性的数据网格视图;但我想设置一些可编辑的单元格,我尝试使用下一个代码来做到这一点:

this.dgvNoCargadas.Rows[index].Cells[columns].ReadOnly = false;

但是我不能修改网格,有人知道吗?

【问题讨论】:

    标签: c# winforms gridview datagridview


    【解决方案1】:

    首先删除dgv readonly true 然后

      foreach (DataGridViewRow row in DataGridView1.Rows)
      {
          if (condition for true)
          {
              row.Cells[2].ReadOnly = true;
          }
          else (condition for false)
          {
              row.Cells[2].ReadOnly = false;
          }
      }
    

    【讨论】:

    • 这行得通,如果我把我的 datagridview 放在 readOnly = true;然后用 row.Cells[2].ReadOnly = false 修改单元格;它有效,但为什么它在这里有效,而当我相反时无效?
    • 因为当您将 dgv 设为只读时,它不会检查子属性意味着单元格
    【解决方案2】:
        For Each row As DataGridViewRow In DataGridView1.Rows
            row.Cells('Cellnumber').ReadOnly = False
        Next
    

    【讨论】:

      【解决方案3】:

      您可以将列中的每个单元格修改为只读,其中单元格值不等于 null 或 String.Empty。这将允许用户编辑那些空白的单元格并保护您的数据。

      只需遍历 DataGridViewRow 的:-

      Foreach(DataGridViewRow row in DataGridView1.Rows)
      {
         If(!row.Cells[2].Value.Equals(null) || !row.Cells[2].Value.Equals(String.Empty))
           {
              row.Cells[2].ReadOnly = true;
           }
      }
      

      【讨论】:

        【解决方案4】:

        试试:

        dgvNoCargadas[columns, index].ReadOnly = false;
        

        【讨论】:

        • 不,伙计,这行不通,我尝试了相同的方法,但使用了不同的 sintaxis。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        • 1970-01-01
        • 1970-01-01
        • 2016-05-17
        • 2011-12-24
        • 1970-01-01
        • 2021-04-20
        相关资源
        最近更新 更多