Mode Martínez Palenzuela - 29-01-2006 13:56:40 | Categoria: .NET
BindingContext, CurrencyManager y DataViewManager interactuandoYa sabeis que hemos tenido un problema de vinculación cuando usábamos un DataViewManager para poblar un DataGridView que me ha traido por la calle de la amargura. Bueno, pues aquí está la solución a nuestros males. Gracias a Manoleitor que ha conseguido un libro en inglés de alguna galaxia lejana que me ha servido para "destripar" el asunto. El libro no está mal, es de Rod Stephens y se llama Visual Basic 2005 Programmer's Reference . Os aconsejo que lo compreis.
Y aquí está la soluciónVinculación de controles a datos, con tablas relacionadas.
Anotación por Mode Martínez Palenzuela a las 13:56:40
| Comentarios (13)
Guardado en la categoría .NET | Referencias (0)
Guardado en la categoría .NET | Referencias (0)
Referencias:
neomode en la web ni su autor se hacen responsables de los comentarios aqui hechos. Cualquier comentario insultante o fuera del tema, será borrado.
Comentarios:
-
Una vez que tenemos enlazadas las tablas y se visualizan todos los campos en el DataGridView, configuro la cabezara de las columnas y oculto las que no quiero con dtgTable.Columns("columna").Visible = False , En primer lugar me salen los campos de la tabla que viculo al DataMember del DataGridView y despues los de la tabla relacionada. Lo que quiero es mezclar los campos, o sea, que aparezca un campo de la tabla relacionado en segunda posición del DataViewManager, y no al final, y luego aparezacn mas campos de la tabla principal. He encontrado la propiedad Site dtgTable.Columns("columna").Site, pero no se como ponerle valor ni como hacer que funcione correctamente. Haber si algun guru me ayuda!!!
Enviado por drakonian el 03-03-2006 a las 21:33:17
-
Así me gusta...que esto sirva para algo (esto va tomando cuerpo!!!!). Y yo mientras de marc ha. Me va a dar cargo de conciencia...Je je je
Enviado por neomode el 05-03-2006 a las 13:03:07
-
No he podido desarrollar el ejemplo mode, probe con el archivo que me mandaste pero solo visualizo los datos de una tabla mas no los de las dos en el datagridview ke estoy haciendo mal??
Enviado por Juan Pablo el 03-08-2006 a las 23:07:01
-
Pues no sé, mándame el código al mail a ver si veo algo raro, porque el que yo te he mandado está sacado de un mantenimiento que funciona. El ejemplo de la bitácora igual. Para empezar...qué versión de VStudio utilizas?.
Enviado por neomode el 03-08-2006 a las 23:50:52
-
Bueno Mode te envio el codigo, para ver si me puedes dar un mano hombre
DataSet Ds = new DataSet();
//DbNet Db = new DbNet(3);
//Db.Open();
//Db.Query("SELECT * FROM prueba");
//Ds.Tables.Add("prueba").Load(Db.Reader());
//Db.Query("SELECT * FROM pruebadet");
//Ds.Tables.Add("pruebadet").Load(Db.Reader());
//Ds.Relations.Add("Prueba_Detalle", Ds.Tables["pruebadet"].Columns["idcat"], Ds.Tables["prueba"].Columns["idcat"]);
//DataViewManager DVM = new DataViewManager(Ds);
//dataGridView1.DataSource = DVM;
//dataGridView1.DataMember = "prueba";
Donde DbNet es mi capa de Datos
Lo que yo kiero es ke el DGV me muestre todas las columnas de las 2 tablas
Enviado por Juan Pablo el 04-08-2006 a las 02:11:59
-
Así, bote pronto, la lógica está bien. Pero por la información que me mandas no puedo deducir la relación de qué tipo es. Al añadir una a relación en .NET, la tabla cuya columna se especifica en primer lugar en el método Add debe ser aquella en la que los valores del campo de asociación no se repiten (en una relación de uno a muchos sería la columna de la tabla donde se da el valor único).
Por otro lado no se si no te funciona porque te da un error, con lo que necesitaría saber cuál es, o simplemente porque no te da el resultado que quisieras, sin haber error de por medio.
Y para acabar, veo que utilizas un objeto Reader. Has probado a utilizar adaptadores para recoger los datos de las tablas?
Bueno, si me despejas todas estas dudas tal vez podamos seguir investigando. Espero noticias.
Enviado por neomodeEnviado por neomode el 04-08-2006 a las 11:29:11
-
Hola!
Una vez que estan enlazadas las tablas y se visualizan todos
los campos en el DataGridView, en mi caso, necesito filtrar los datos que se muestran en la DataGridView sin cambiar el DataSource. He intentado poner un RowFilter pero no me hace nada y realmente no se como hacerlo (soy novata en vb.net). He leido Capítulo 8 Vinculación de controles a datos y he visto que hay que utilizar DataViewManager, pero estoy perdida Si alguien sabe como hacerlo o donde buscarlo
Muchas gracias!Enviado por Pebbles el 31-08-2006 a las 11:54:38
Escribe tu comentario
HTML Permitido. Correo electrónico no se muestra.

