Thread ID: |
Created: |
Updated: |
Platform: |
Replies: |
144931 | May 29,2019 09:47 AM UTC | Jun 5,2019 12:43 PM UTC | WPF | 7 |
![]() |
Tags: SfDataGrid |
this.sfdatagrid.EditTrigger = EditTrigger.OnDoubleTap;
this.sfdatagrid.CellRenderers.Remove("ComboBox");
this.sfdatagrid.CellRenderers.Add("ComboBox", new GridCellComboBoxRendererExt());
public class GridCellComboBoxRendererExt : GridCellComboBoxRenderer
{
protected override void OnEditElementLoaded(object sender, System.Windows.RoutedEventArgs e)
{
base.OnEditElementLoaded(sender, e);
var combobox = sender as ComboBox;
combobox.IsDropDownOpen = true;
}
} |
this.sfdatagrid.CellTapped += sfdatagrid_CellTapped;
void sfdatagrid_CellTapped(object sender, GridCellTappedEventArgs e)
{
if (sfdatagrid.SelectionController.CurrentCellManager.CurrentRowColumnIndex != e.RowColumnIndex
&& sfdatagrid.SelectionController.CurrentCellManager.CurrentCell.Renderer is GridCellComboBoxRendererExt)
{
var comboBox = (sfdatagrid.SelectionController.CurrentCellManager.CurrentCell.Renderer as GridCellComboBoxRendererExt).CurrentCellRendererElement as ComboBox;
if (comboBox != null)
{
//Activate the tapped cell to end the editing of the combo box cell.
sfdatagrid.MoveCurrentCell(e.RowColumnIndex);
}
}
} |
private void DataGrid_CurrentCellEndEdit(object sender, CurrentCellEndEditEventArgs e)
{
var sfDataGrid = sender as SfDataGrid;
if (sfDataGrid.CurrentColumn.MappingName != "ShipCountry")
return;
var datarow = dataGrid.RowGenerator.Items.FirstOrDefault(dr => dr.RowIndex == e.RowColumnIndex.RowIndex);
datarow.Element.DataContext = null;
dataGrid.UpdateDataRow(e.RowColumnIndex.RowIndex);
} |
This post will be permanently deleted. Are you sure you want to continue?
Sorry, An error occured while processing your request. Please try again later.
This page will automatically be redirected to the sign-in page in 10 seconds.