ComponentOne True DBGrid for WinForms
True DBGrid for WinForms Task-Based Help / Controlling Grid Interaction / Locking a Cell from Being Edited
In This Topic
    Locking a Cell from Being Edited
    In This Topic

    You may want to prevent the end user from editing the data in particular cells. If you choose, you can lock individual grid cells from being edited at run time by using the FetchCellStyle event.

    To lock the value in cell (1, 0), complete the following steps:

    1. Set the FetchStyle property of the column containing the cell to True.

      In the Designer

      • Open the C1TrueDBGrid Designer. For information on how to access the C1TrueDBGrid Designer, see Accessing the C1TrueDBGrid Designer.
      • Select the First column by clicking on its column header in the right pane.
        Alternatively, it can also be selected from the drop-down list in the toolbar.
      • Click the Display Columns tab in the left pane.
      • Set the FetchStyle property to True.
      • Click OK to close the designer.

      In Code

      Add the following code to the Form_Load event:

      To write code in Visual Basic

      Visual Basic
      Copy Code
      Me.C1TrueDBGrid1.Splits(0).DisplayColumns(0).FetchStyle = True
      

      To write code in C#

      C#
      Copy Code
      this.c1TrueDBGrid1.Splits[0].DisplayColumns[0].FetchStyle = true;
      
    2. Set the Locked property of the CellStyle object to True only for the value in row one:

      To write code in Visual Basic

      Visual Basic
      Copy Code
      Private Sub C1TrueDBGrid1_FetchCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1TrueDBGrid1.FetchCellStyle
          If e.Row = 1 Then
              e.CellStyle.Locked = True
          End If
      End Sub
      

      To write code in C#

      C#
      Copy Code
      private void C1TrueDBGrid1_FetchCellStyle(object sender, C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs e) 
      { 
          if (e.Row == 1)
          {
              e.CellStyle.Locked = true; 
          }
      }
      

    What You've Accomplished

    The value in the cell (1, 0) cannot be edited: