2011-08-03 12 views
6

Estoy usando el código (VS2008) que encontré en el artículo "Automatic WPF Toolkit DataGrid Filtering", que funciona muy bien. Se implementa como un nuevo "estilo" para el encabezado de una cuadrícula de datos, NO como una extensión de la cuadrícula de datos en sí. Mi pregunta es ¿cómo puedo guardar los valores ingresados ​​en esos cuadros de filtro, y luego usarlos para volver a ingresar esos valores?¿Cómo guardo los valores de filtro en WPF toolkit datagrid "filter extension"?

Si no es posible, cómo voy a modificar el código fuente (disponible desde el enlace anterior) para el filtro (novato de WPF).

Gracias,

Enrico

Respuesta

0

Puede guardarlos en el UserSettings. Crearía una entrada de usuario para cada entrada de filtro y, al cargarla, rellenaría el filtro.

2

No tienen demasiado tiempo para profundizar en el análisis de código, pero se pueden encontrar en el código proporcionado:

En Generic.xaml en line 55 se encuentra este código:

<Setter Property="Template"> 

Este código en realidad establece la plantilla para GridColumn. En el medio de queXAML encontrará la declaración de tipo DelayTextBox. Esa es tu clave!

De DelayTextBox tipo OnTextChanged(TextChangedEventArgs e) comienza la búsqueda.

Sólo otro indicio de nuevo:

En DataGridColumnFilter.cs se encuentra el siguiente propiedad:

public FilterData FilterCurrentData 
{ 
    get { return (FilterData)GetValue(FilterCurrentDataProperty); } 
    set { SetValue(FilterCurrentDataProperty, value); } 
} 

Poner a punto de interrupción get/set, ejecute el programa y filtrar las columnas. Obtendrá una visión clara de callstack, por lo que puede decidir dónde puede recoger el valor real del cuadro de texto, según el diseño de su aplicación.

EDITAR

Mira FilterData tipo, que, creo, contiene una información que necesita.

Espero que esto ayude.

Atentamente.

+0

@Jason: gracias ... – Tigran

+0

No hay problema. No puedo evitarlo a veces. –

Cuestiones relacionadas