C sharp - Vistas Ordenadas y combobox

 
Vista:

Vistas Ordenadas y combobox

Publicado por Oscar Arias (25 intervenciones) el 06/09/2004 18:08:27
Hola tengo un dataset con un datatable con tres campos: A (clave), b y c.
Cada uno de estos campos es datasource de un combobox. Hasta ahi todo bien. Si cambia el indice del combo1(campo A), cambian automaticamente los combos 2 y 3 (Campos B y C respectivamente).
Pero necesito que las combos esten las tres ordenadas, y que sigan funcionando al unisono como hasta ahora.
Probe metiendo una vista en los combos 2 y 3 ordenando estas vistas por los campos B y C respect. El problema es que ahora al cambiar los indices de cualquiera de ellos debo refrescar a mano los otros dado que no se refrescan autom. como antes.
Existe alguna forma de no hacer esto. Algun objeto que permita la relacion entre los comboboxes?
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Vistas Ordenadas y combobox

Publicado por Yamil Bracho (1164 intervenciones) el 06/09/2004 18:17:23
Un comboBox tiene la propiedad Sorted que quizas te pueda servir....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Vistas Ordenadas y combobox

Publicado por Oscar Arias (25 intervenciones) el 07/09/2004 14:54:06
Yamil, esta propiedad solo se aplica cuando el combo no tiene como fuente un dataset.
Sigue en pie mi consulta original.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Vistas Ordenadas y combobox

Publicado por Yamil Bracho (1164 intervenciones) el 08/09/2004 01:52:16
Que pasa si ordenas via la sentencia SQL agregando la clausula ORDER BY ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Vistas Ordenadas y combobox

Publicado por Oscar Arias (25 intervenciones) el 08/09/2004 14:34:08
El problema es este: mi sentencia es algo asi:
SELECT A,B,C from tabla order by A ASC.
los campos son los tres varchar.
el combo 1 muestra el campo A (la clave) ordenado por el campo 1. El combo 2 deberia mostrar el campo B ordenado (idem el combo 3 con el campo C)de tal forma que cuando selecciono uno de estos valores de cualquiera de los combos automaticamente se refresquen los otros dos (el value member es el mismo en los tres combos, el campo A). Cuando se refresca el campo A entonces efectua con la clave un select en otra tabla de la base de datos.
Si accedo directamente al datasource con los tres combos, esto anda OK. pero los combos 2 y 3 me aparecen desordenados.
Si pongo un dataview que ordene los datos del dataset, ya no me refresca los datos de los otros combos.
Si usara tres datasource con tres selects distintos ordenados por los tres campos me pasaria lo mismo.
Mi problema es encontrar el modo de programar el autorefresco de los dichosos combos sin que se produzca una cascada de autoupdates que me provoquen retrieves innecesarios sobre la base de datos.
Espero haberme explicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Vistas Ordenadas y combobox

Publicado por Yamil Bracho (1164 intervenciones) el 08/09/2004 16:46:45
OK, pero el problema es que a pesar de que la fuente de datos es la misma, hay un solo orden y es ORDER BY A, de manera que los otros dos combos se estan mostrando por el mismo orden del primero, OK ?
Una solucion pudiera ser refrescra cuando se haga un cambio en el combo, es decir, releer los datos y basar cada combo en una sentencia SELECT con el ORDER BY correspondiente a cada combo... pero esto me parece muy ineficiente ya que tendrias que traer los datos.
Lo que me parece que se puede hacer es un DataView por combo y alli puedes establecer filtros usando la propiedad RowFilter y se puede ordenar usando la propiedad Sort.
La otra cosa que se me ocurre es que si no son muchos datos tener tres arreglos que llenen los combos pero seria programar un poco mas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Vistas Ordenadas y combobox

Publicado por Oscar Arias (25 intervenciones) el 08/09/2004 20:52:04
Asi lo implementé. Con un dataview por combo. Pero me parecia bastante ineficiente.
Con respecto a los datos, realmente son miles de datos, lo que me limita de hacer retrieves multiples sobre la base.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Vistas Ordenadas y combobox

Publicado por Edgar (278 intervenciones) el 08/09/2004 16:55:40
Hola

Me parece que la manera más fácil de lograr lo que quieres es colcoar en cada combo un dataview, cada uno ordenado por el campo qe tu deseas, e implementar el patron observador

Este patron consiste en tener un objeto que esté "Obaservando" ciertos controles y ante cualquier cambio que ocurra alguno de estos controles, actualizar los datos en los demás.

Esto lo implementarias a través del evento SelectedValueChanged del combo. Una vez que cambias el valor en uno de estos, debes buscar y actualizar el valor en el resto de los combos a través del métod Find de la vista

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar