Databinding es solo para visualizar?

31/08/2004 - 11:33 por Felix González | Informe spam
Hola
pregunto esto porque cuando quiero insertar una nueva fila, los valores de
los campos no se toman de los cotroles a los cuales están enlazadsos, tengo
que asignarlos manualmente.
Estoy progrmando en c# para una PDA.
Tengo unos Text enlazados a campos de una tabla. Cuando quiero insertar una
fila tengo que hacer algo así:

txtBloque.DataBindings.Add(new Binding("Text", ds.Tables["Medicion"],
"Bloque"));
txtPlanta.DataBindings.Add(new Binding("Text", ds.Tables["Medicion"],
"Planta"));
..
fila = Tables["Medicion"].NewRow();
fila["Bloque"] = txtBloque.Text;
fila["Planta"] = txtPlanta.Text;
...
ds.Tables["Medicion"].Rows.Add(fila)

mi pregunta es: las asignaciones de datos a la nueva fila
fila["Bloque"]
por que necesito hacerlas? si no las hago toman valores nulos. No deberían
inicializarse estas columnas con los valores de los text a los cuales están
enlazados? o esty haciendo algo mal?

Gracias

Preguntas similare

Leer las respuestas

#1 Vyacheslav Popov
31/08/2004 - 13:24 | Informe spam
Hola Felix

No se lo que pretendes hacer con esto??!!
En primer bloque haces un enlace con la tabla, luego insertas una fila y les
pasa valores del registro actual.

Voy a suponer que quieres insertar un registro nuevo, el codigo sera el
siguiente (al menos que me lo desmenten)


fila = Tables["Medicion"].NewRow();
txtBloque.DataBindings.Add(new Binding("Text", fila, "Bloque");
txtPlanta.DataBindings.Add(new Binding("Text", fila, "Planta");

// Guardar
if (todo_va_bien)
fila.EndEdit();
else
fila.CancelEdit();

A ver que tal dame saber el resultado.
Saludos.

"Felix González" escribió en el mensaje
news:uj$
Hola
pregunto esto porque cuando quiero insertar una nueva fila, los valores


de
los campos no se toman de los cotroles a los cuales están enlazadsos,


tengo
que asignarlos manualmente.
Estoy progrmando en c# para una PDA.
Tengo unos Text enlazados a campos de una tabla. Cuando quiero insertar


una
fila tengo que hacer algo así:

txtBloque.DataBindings.Add(new Binding("Text", ds.Tables["Medicion"],
"Bloque"));
txtPlanta.DataBindings.Add(new Binding("Text", ds.Tables["Medicion"],
"Planta"));
..
fila = Tables["Medicion"].NewRow();
fila["Bloque"] = txtBloque.Text;
fila["Planta"] = txtPlanta.Text;
...
ds.Tables["Medicion"].Rows.Add(fila)

mi pregunta es: las asignaciones de datos a la nueva fila
fila["Bloque"]
por que necesito hacerlas? si no las hago toman valores nulos. No


deberían
inicializarse estas columnas con los valores de los text a los cuales


están
enlazados? o esty haciendo algo mal?

Gracias


Respuesta Responder a este mensaje
#2 Felix González
01/09/2004 - 10:46 | Informe spam
Gracias,

Los valores se los doy al registro actual porque no los toma de los
controles a los que están enlazados las columnas.
Ahora no lo puedo probar, luego lo probaré, pero si entiendo bien el enlace
hay que harlo cada vez que inserto una fila?. Yo lo hago al principio para
que se muestren los datos acatuales y pensaba que el enlace queda hecho y al
insertar o editar una fila, el campo se inicializaria
con los valores de los controles.

"Vyacheslav Popov" escribió en el mensaje
news:%
Hola Felix

No se lo que pretendes hacer con esto??!!
En primer bloque haces un enlace con la tabla, luego insertas una fila y


les
pasa valores del registro actual.

Voy a suponer que quieres insertar un registro nuevo, el codigo sera el
siguiente (al menos que me lo desmenten)


fila = Tables["Medicion"].NewRow();
txtBloque.DataBindings.Add(new Binding("Text", fila, "Bloque");
txtPlanta.DataBindings.Add(new Binding("Text", fila, "Planta");

// Guardar
if (todo_va_bien)
fila.EndEdit();
else
fila.CancelEdit();

A ver que tal dame saber el resultado.
Saludos.

"Felix González" escribió en el mensaje
news:uj$
> Hola
> pregunto esto porque cuando quiero insertar una nueva fila, los valores
de
> los campos no se toman de los cotroles a los cuales están enlazadsos,
tengo
> que asignarlos manualmente.
> Estoy progrmando en c# para una PDA.
> Tengo unos Text enlazados a campos de una tabla. Cuando quiero insertar
una
> fila tengo que hacer algo así:
>
> txtBloque.DataBindings.Add(new Binding("Text", ds.Tables["Medicion"],
> "Bloque"));
> txtPlanta.DataBindings.Add(new Binding("Text", ds.Tables["Medicion"],
> "Planta"));
> ..
> fila = Tables["Medicion"].NewRow();
> fila["Bloque"] = txtBloque.Text;
> fila["Planta"] = txtPlanta.Text;
> ...
> ds.Tables["Medicion"].Rows.Add(fila)
>
> mi pregunta es: las asignaciones de datos a la nueva fila
> fila["Bloque"]
> por que necesito hacerlas? si no las hago toman valores nulos. No
deberían
> inicializarse estas columnas con los valores de los text a los cuales
están
> enlazados? o esty haciendo algo mal?
>
> Gracias
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida