Hi Pavel!
Sure! I paste you my code.
- Xaml code:
<Grid x:Name="gridRefCat" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="26"/>
</Grid.ColumnDefinitions>
<gridView:RadGridView x:Name="dgArrendamiento" AutoGenerateColumns="False" Width="Auto" Height="700" CanUserReorderColumns="False" MaxHeight="160">
<gridView:RadGridView.Columns>
<gridView:GridViewDataColumn IsSortable="False" IsReadOnly="False" HeaderText="Referencia Catastral" DataMemberPath="Descripcion" Width="Auto"/>
</gridView:RadGridView.Columns>
</gridView:RadGridView>
- Cs code:
//Constructor
public
DetalleArrendamientoView()
{
InitializeComponent();
this.dgArrendamiento.ValidationMode = ValidationMode.Row;
this.dgArrendamiento.AddHandler(GridViewDataControl.RowEditEndedEvent, new EventHandler<GridViewRowEditEndedEventArgs>(this.OnEditEnded));
}
//Data charge
public void CargaDetalleArrendamiento(DCContrato p_contratoDetalle)
{
if (p_contratoDetalle.ListaConArrendamiento.Count<DCConArrendamiento>() > 0)
{
var q = from contratoD in p_contratoDetalle.ListaConArrendamiento[0].ReferenciaCatastral
select new DatosGridArrendamiento
{
Descripcion = contratoD.Descripcion,
Id = contratoD.Id,
Ruta = GetRuta(contratoD.Estado),
Estado = contratoD.Estado.ToString(),
ForeColor = GetColor(contratoD.Estado)
};
this.dgArrendamiento.ItemsSource = q.ToList();
this.dgArrendamiento.UpdateLayout();
contrato = p_contratoDetalle;
}
else
{
MessageBox.Show("La lista de referencias catastrales est vacia");
}
}
//Update function
private void OnEditEnded(object sender, GridViewRowEditEndedEventArgs e)
{
string _texto = string.Empty;
int _indice = (dgArrendamiento.SelectedRecord as DataRecord).DataSourceIndex;
string desc = contrato.ListaConArrendamiento[0].ReferenciaCatastral[_indice].Descripcion;
_texto = (e.Row).Items[2].Content.ToString();
if (desc != (_texto as string))
{
if (contrato.ListaConArrendamiento[0].ReferenciaCatastral[_indice].Estado != 2)
contrato.ListaConArrendamiento[0].ReferenciaCatastral[_indice].Estado = 3;
contrato.ListaConArrendamiento[0].ReferenciaCatastral[_indice].Descripcion = _texto;
}
_indice = -1;
this.dgArrendamiento.Focus();
CargaDetalleArrendamiento(contrato);
}
I hope this helps you!
Thanks for the fast reply