Cómo recuperar la fila DataGrid seleccionada actualmente después de ordenar, insertar o eliminar las filas de DataGrid utilizando Visual Basic .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 817247 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso se describe cómo recuperar la fila del DataGrid seleccionada actualmente después de ordenar, insertar o eliminar filas del DataGrid. Cuando ordena, inserta o elimina filas del DataGrid, Currency Manager sigue conteniendo los datos en el formato real. La vista predeterminada del DataGrid se modifica en lugar del Currency Manager. La vista predeterminada del DataGrid incorpora cualquier ordenación, inserción o eliminación de las filas. Puede usar la vista predeterminada para recuperar la fila que está seleccionada actualmente DataGrid.



Código de ejemplo para recuperar la fila actual del DataGrid después de ordenar, insertar o eliminar filas

Para recuperar la fila actual del DataGrid después de ordenar, insertar o eliminar filas, siga estos pasos:
  1. En Microsoft Visual Studio .NET, cree un nuevo proyecto de aplicación Windows con Microsoft Visual Basic .NET o Microsoft Visual C# .NET.

    De forma predeterminada, se crea Form1.
  2. En la ficha Datos del cuadro de herramientas, haga doble clic en SqlDataAdapter y, después, haga clic en Siguiente.
  3. Haga clic en Nueva conexión. Escriba el nombre del servidor Microsoft SQL Server, el nombre de usuario y la contraseña para conectarse al mismo.
  4. En la lista Seleccione la base de datos del servidor, haga clic en Neptuno para activarla y, después, haga clic en Aceptar.
  5. Después de crear la conexión, haga clic en Siguiente y, a continuación, haga clic en Siguiente de nuevo.
  6. En la página Generar las instrucciones SQL, escriba la instrucción SQL Select * from Customers y, a continuación, haga clic en Terminar.
  7. Haga clic con el botón secundario del mouse (ratón) en SqlDataAdapter1 y, a continuación, haga clic en Generar conjunto de datos. Haga clic en Aceptar.
  8. En el cuadro de herramientas, agregue un control DataGrid a Form1.
  9. En el cuadro de herramientas, agregue dos controles Button y dos controles TextBox a Form1.
  10. En el Explorador de soluciones, haga clic con el botón secundario del mouse en Dataset1 y después haga clic en Ver código.
  11. Agregue el código siguiente para enlazar el DataGrid con el DataSet:
       Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Button1.Text = "Obtener la fila actual" Button2.Text = "Ordenar por ciudad"
    
          ' Rellenar el DataSet con los datos de la base de datos Me.SqlDataAdapter1.Fill(Me.DataSet11) ' Enlazar el DataGrid con el DataSource DataGrid1.DataSource = DataSet11.Tables(0).DefaultView End Sub
  12. Agregue el código siguiente al controlador de evento Button1_click para recuperar los datos de la fila actual:
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Obtener el Currency Manager con el BindingContext del DataGrid Dim cm As CurrencyManager = CType(Me.BindingContext(DataGrid1.DataSource, DataGrid1.DataMember), CurrencyManager)
    
          ' Recuperar el DataView predeterminado del DataGrid Dim dv As DataView = CType(cm.List, DataView)
    
          ' Usar Currency Manager y DataView para recuperar la fila actual Dim dr As DataRow dr = dv.Item(cm.Position).Row
    
          ' Mostrar la fila actual Data TextBox1.Text = dr(0).ToString TextBox2.Text = dr(1).ToString End Sub
  13. Agregue el código siguiente al controlador de evento Button2_click para ordenar los datos del DataGrid:
       Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' Ordenar los datos DataSet11.Tables(0).DefaultView.Sort = "City" ' Actualizar la cuadrícula para mostrar los datos ordenados DataGrid1.Refresh() End Sub
  14. En el menú Generar, haga clic en Generar solución.


Comprobar que todo funciona

Para comprobar que funciona, siga estos pasos:
  1. En el menú Depurar, haga clic en Iniciar para ejecutar la aplicación.
  2. Haga clic para seleccionar una fila en el DataGrid.
  3. Haga clic en Obtener la fila actual.

    Los datos de la fila actual se muestran en el TextBox.
  4. Haga clic en Ordenar por ciudad.

    Las filas del DataGrid se ordenan en función de la ciudad.
  5. Haga clic en Obtener la fila actual de nuevo.

    Los datos de la fila actual se muestran en el TextBox.

Referencias

Para obtener más información al respecto, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
308070 Cómo implementar un DataGrid con funciones de búsqueda utilizando ADO.NET y Windows Forms
313154 Cómo crear una fila resumen de DataGrid en ASP.NET utilizando Visual Basic .NET

Propiedades

Id. de artículo: 817247 - Última revisión: viernes, 16 de junio de 2006 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbwindowsforms kbsystemdata kbsqlclient kbdatabinding kbdatabase kbdataadapter kbhowtomaster KB817247

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com