Laburo España: 250.000 ofertas de empleo

neomode en la web

programación, diseño web y diseño gráfico
BindingContext, CurrencyManager y DataViewManager interactuando

Ya 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)

Referencias:

Dirección para 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:

  1. 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

  2. Gorka si lo que quieres es cambiar el orden de las columnas que se muestran debes poner "dtgTable.columns("columna").displayindex=numero" ese numero empieza en 0 y termina en el nmero final de columnas que se muestran

    Enviado por Manoleitor el 04-03-2006 a las 17:01:25

  3. Que fino está el Manoleitor

    Enviado por Klausens el 04-03-2006 a las 17:50:04

  4. Ohh yeahh, esta tarde en cuanto pueda lo intento con eso, haber si funciona, gracias lobo :)

    Enviado por drakonian el 05-03-2006 a las 12:55:05

  5. 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

  6. De marcha y nosotros aquí con el proyecto...

    Enviado por Klausens el 05-03-2006 a las 13:13:42

  7. trasnochadooor !!

    Enviado por Salva el 06-03-2006 a las 10:38:23

  8. Modeeee me estudio o no me estudio lo de tu web de flash y action script

    Enviado por Manoleitor el 13-03-2006 a las 22:05:13

  9. 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

  10. 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

  11. 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

  12. 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 neomode

    Enviado por neomode el 04-08-2006 a las 11:29:11

  13. 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.


Recordar datos

< Regresa a la portada

Copyleft Mode Martínez Palenzuela - Granada - Andalucía - España

Sindica este sitio usando: RSS 1.0, RSS 2.0, Atom. Esta bitácora se mantiene con Bitacorae.
LaInformacion.com lainformacion.com - Medio Oficial de los Premios Bitacoras 2009