Principales respuestas
enlazar registro datagrid con 2 texbox

Pregunta
-
Hola este enlace es una continuacion de un anterior enlace donde gracias a vuestra ayuda se muestran los valores del datagrid ordenados.
enlace:
http://social.msdn.microsoft.com/Forums/es-ES/wpfes/thread/4f787f56-d6b5-4711-b1c0-ddb864324f5b
el caso es que me interesaria enlazar el row del datagrid con los texbox, dejo imagen para mostrar lo que deseo hacer:
http://yfrog.com/f/fximagenventanaj/
mi carga del datagrid es:
'declaraciones Private dsant As New amistatsDataSet1 Private cussants As New amistatsDataSet1TableAdapters.santoralTableAdapter Dim View As System.Data.DataView Public Sub New() ' This call is required by the designer. InitializeComponent() 'aqui cargo el dataset cussants.Fill(dsant.santoral) View = dsant.santoral.DefaultView 'ahora ordenamos el datagrid View.Sort = "nom" grdDatos.ItemsSource = DirectCast(View.ToTable(), System.ComponentModel.IListSource).GetList End Sub
un compañero me ha propuesto una solucion, declarando propertys , pero me genera muchos errores..
hay alguna manera'simple' de enlazar los texbox con la fila del datagrid?
Gracias
Spandau
Respuestas
-
Hola Spandau
Ya he visto el código.
El problema lo tienes en el new de tu ventana, estás asignando la vista al ItemsSource del Datagrid, de esta forma los textbox no tienen fuente de datos.
Debes asignar la vista que creas al DataContext de la ventana, igual que en la mainwindow estableces el dataset amistats a la ventana.
Si cambias en window1.xaml.vb esta línea:
grdDatos.ItemsSource = DirectCast(View.ToTable(), System.ComponentModel.IListSource).GetList
Por esta otra:
Me.DataContext = DirectCast(View.ToTable(), System.ComponentModel.IListSource).GetList
Todo funcionará a la primera.
Con respecto al nombre de los meses, puedes forzar a WPF a usar un lenguaje específico en la ventana, añadiendo el atributo languaje a la declaración de tu ventana en XAML:
<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="SANTORAL" Height="300" Width="500" Language="ca-ES" >
Espero haberte ayudado, un gran saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog en Geeks.ms
Sigueme en Twitter- Marcado como respuesta Spandau domingo, 27 de febrero de 2011 23:25
Todas las respuestas
-
¡Hola!
Prueba a ver si esto te funciona. No lo he probado en Silverlight. Sé que en Windows form va: http://www.solocodigo.com/foros/viewtopic.php?f=50&t=30614
Saludos,
-
-
¡Hola!
Prueba a ver si esto te funciona. No lo he probado en Silverlight. Sé que en Windows form va: http://www.solocodigo.com/foros/viewtopic.php?f=50&t=30614
Saludos,
Holan corsario, despues de dejar el proyecto aparcado... quiero acabarlo.la propiedad del DataSource del datagrid me genera error...
hay alguna manera de realizar este enlace??
GRACIAS
Spandau -
Hola!
Te dejo un artículo que escribi hace tiempo explicando justamente como hacer esto que necesitas:
http://jyeray.blogspot.com/2010/05/net-4-wpf-descubriendo-la-potencia-de.html
En este artículo enseño como enlazar un dataset a una datagrid y al seleccionar una row mostrar los datos en otros controles.
Un saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog en Geeks.ms
Sigueme en Twitter- Propuesto como respuesta CorsarioVasco jueves, 24 de febrero de 2011 15:13
-
Gracias Josue,
ya lo havia visto.... de hecho de tu proyecto saque la idea.... el problema es que quiero mostrar los registros por orden alfabético ... con un View.sort y ahora no me enlazan los datagrids con los texbox....no se si me exlico...
Gracias
Spandau -
Hola Spandau
Si te parece bien, puedes poner el proyecto colgado en algun sitio donde pueda descargarmelo, le hecho un vistazo y te respondo con la forma correcta de enlazarlo todo.
Un saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog en Geeks.ms
Sigueme en Twitter -
Hola Josue,
mi 'proyecto' para decirlo de alguna manera, lo empecé a partir del proyecto que colgaste hace mucho tiempo y que has mencionado anteriormente, me gusta su simplicidad, aunque yo lo he querido complicar un poco....para 'coger soltura' lo he modificado..añado registros, elimino...etc. para ver si asi le voy cogiendo soltura al WPF...
Mi problema me surge cuando quiero ordenar los registros... he seguido los consejos de mis compañeros de foro y lo he conseguido con la propiedad SORT... pero ahora he perdido el enlace de datagrid con los texbox que mostraban los campos seleccionados en el datagrid.
Para no liarme en mi ventana de inicio.... he realizado el orden en la ventana que se abre al hacer click en el boton Santoral de la ventana inicial y que es la clase Window1
Como podras ver el datagrid lo tengo perfectamente ordenado pero no he conseguido enlazar registro con texbox.. tambien me gustaria que me funcionase el boton añadir registro/eliminar/guardar
Otro problema que me ha hecho perder mucho tiempo y que no me sale es el formato fecha...me sale en ingles y me gustaria editarlo/mostrarlo en nuestra lengua...
enlace:
http://cid-b85627fda5bc8532.office.live.com/self.aspx/.Public/amistats.rar
Spandau -
Hola Spandau
Ya he visto el código.
El problema lo tienes en el new de tu ventana, estás asignando la vista al ItemsSource del Datagrid, de esta forma los textbox no tienen fuente de datos.
Debes asignar la vista que creas al DataContext de la ventana, igual que en la mainwindow estableces el dataset amistats a la ventana.
Si cambias en window1.xaml.vb esta línea:
grdDatos.ItemsSource = DirectCast(View.ToTable(), System.ComponentModel.IListSource).GetList
Por esta otra:
Me.DataContext = DirectCast(View.ToTable(), System.ComponentModel.IListSource).GetList
Todo funcionará a la primera.
Con respecto al nombre de los meses, puedes forzar a WPF a usar un lenguaje específico en la ventana, añadiendo el atributo languaje a la declaración de tu ventana en XAML:
<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="SANTORAL" Height="300" Width="500" Language="ca-ES" >
Espero haberte ayudado, un gran saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog en Geeks.ms
Sigueme en Twitter- Marcado como respuesta Spandau domingo, 27 de febrero de 2011 23:25
-
Hola Josue,
y tanto que me has ayudado!!!!
ya me funciona!!
Si no es abusar de tu confianza.... no tengo muy claro/no me funciona el crear nuevo registro... lo tengo asi:
Try Dim row As System.Data.DataRow row = dsants.santoral.NewRow txtnom.Text = "" txtdata.Text = ""<br/> Cath<br/> ......
los texbox funcionan.... pero me modifican el registro del datagrid que tiene el foco.....como lo soluciono??
MUCHISIMAS GRACIAS!!
Spandau