Ciao a tutti,
ho un problema nella gestione del tipo di controllo da mostrare dentro una colonna: vorre mostrare una combobox o una textbox nel campo ID_ATTRIBUTE a seconda di un determinato valore presente in un altra colonna:
XAML
<WPFCtrl:ExtDataGrid.Columns>
<WPFCtrl:ExtDataGridTextColumn Header="CD_ATTRIBUTE" Tag="CD_ATTRIBUTE" Width="50" IsReadOnly="True" Visibility="Collapsed" />
<WPFCtrl:ExtDataGridTextColumn Header="ID_ATTRIBUTE" Tag="ID_ATTRIBUTE" Width="50" IsReadOnly="True" />
<WPFCtrl:ExtDataGridTextColumn Header="ID_VALUE" Tag="ID_VALUE" Width="*" />
<WPFCtrl:ExtDataGridTextColumn Header="DS_VALUE" Tag="DS_VALUE" Width="*" />
</WPFCtrl:ExtDataGrid.Columns>
Code Behind >> ho usato DatagridPreparingCellForEdit
void IdTypeEdit(object sender,DataGridPreparingCellForEditEventArgs e)
{
COMR_ATTRIBUTES item = e.Row.DataContext as COMR_ATTRIBUTES;
Debug.Assert(e.Column is IExtDataColumn);
if ((item.ID_ATTRIBUTE == Context.RMIE_ATTRIBUTE.Where(i => i.FL_TYPE== "K" || i.FL_TYPE=="T").FirstOrDefault(i=>i.ID_ATTRIBUTE== item.ID_ATTRIBUTE).ID_ATTRIBUTE) == true)
{
DataGridColumn dgcCOAttributes;
System.Windows.Controls.ComboBox cbAttributeType;
dgcCOAttributes = WPFControls.Utility.Controls.GetColumn(_edgAttribu tesSelected.DataGrid, "ID_VALUE");
cbAttributeType = dgcCOAttributes.GetCellContent(e.Row) as ComboBox;
cbAttributeType = (e.EditingElement as ComboBox);
cbAttributeType.ItemsSource = Context.RMIE_ATTRIBUTE;
cbAttributeType.DisplayMemberPath = "CD_ATTRIBUTE";
cbAttributeType.SelectedValuePath = "ID_ATTRIBUTE";
}
Mike "The Ram"