none
Cambiar valor de una celda desde código. RRS feed

  • Pregunta

  • Estoy tratando de modificar una celda de texto y otra booleana desde código y que los cambios se reflejen direntamente en un DatagridView. Utilizo ListCollectionView para establecer los gruposque necesito. El caso es que si modifico la colección y refresco obtengo los cambios en pantalla pero los nodos de los grupos cambian su estado, y precisamente esto es lo quequiero evitar.

    Alguien puede hecharme una mano??

    Un saludo.

    jueves, 10 de abril de 2014 6:49

Todas las respuestas

  • Solucionado.

    Finalmente lo he solucionado implementando la interfaz INotifyPropertyChanged

    ....

            public string Ratification
            {
                get { return _ratification; }
                set { _ratification = value; NotifyPropertyChanged("Ratification"); }
            }



            public event PropertyChangedEventHandler PropertyChanged;

            public void NotifyPropertyChanged(string property)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(property));
                }
            }

    en la clase que utilizo como tipo de datos de la colección que uso como datasource, de esta forma los cambio que hago sobre los objeto de dicha colección directamente tienen su reflejo en el DataGridView sin necesidad de tener que refrescar la colección y por lo tanto los nodos permanecen en su estado (expandidos o contraidos), y el problema queda solucionado.

                // Actualizamos info en el grid
                ((ruleData)this.rulesToVerifyGrid_WPF1.rulesGrid.SelectedItem).Ratification =                             (string)RatificationCombo.SelectedItem;
                ((ruleData)this.rulesToVerifyGrid_WPF1.rulesGrid.SelectedItem).Verified = true;

    Espear sea de ayuda,

    Juanjo

    jueves, 10 de abril de 2014 13:32