Articles in this section
Category / Section

How to edit a column in Xamarin.Android DataGrid?

1 min read

Currently SfDatagrid does not directly support editing of GridCells. However if your requirement is to edit the text of the GridCells during runtime, SfDataGrid allows you to achieve this by creating a custom GridCell derived from GridCell. You can load an editable control inside the GridCell from the sample. The edited values can be committed in the the TextChanged event handler of the EditText class.

Refer the following code example to edit the text of GridCell in runtime.

public class CustomGridCell: GridCell
{
  private EditText editText;
  public CustomGridCell(Context ctxt) : base (ctxt)
  {
    editText = new EditText(ctxt);
    editText.TextChanged += editText_TextChanged;
    editText.SetTextColor(Color.Black);
    CanRenderUnLoad = false;
    this.AddView(editText);
  }
  public void editText_TextChanged(object sender, TextChangedEventArgs e)
  {
    DataColumn.Renderer.DataGrid.View.GetItemProperties().
    SetValue(DataColumn.RowData,e.Text.ToString(), DataColumn.GridColumn.MappingName);
  }
  protected override void OnLayout(bool changed, int left, int top, int right, int bottom)
  {
    editText.Layout(0, 0, this.Width, this.Height);
  }
 
  protected override void OnDraw(Canvas canvas)
  {
    base.OnDraw(canvas);
    if (DataColumn.CellValue != null && editText.Text != DataColumn.CellValue.ToString())
         editText.Text = (DataColumn.CellValue.ToString());
  }
  protected override void UnLoad()
  {
    if (this.Parent != null)
         (this.Parent as VirtualizingCellsControl).RemoveView(this);
  }
}

 

The following screenshots shows the final outcome when the above code is executed.

before and after editing of GridCells

You can download the working sample for this KB from the below link. https://www.syncfusion.com/downloads/support/directtrac/general/ze/Edit_Text-402107231

Conclusion

I hope you enjoyed learning about how to edit a column in DataGrid.


You can refer to our Xamarin.Android DataGrid feature tour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications.

For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.

If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!


Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied