jueves, 15 de marzo de 2012

DataRow

Un objeto DataRow representa una sola fila en la tabla, y permite leer y actualizar los valores en esa fila, así como la recuperación de cualquier fila que esté relacionada con ella a través de una relación de clave primaria

Utilice el objeto DataRow y sus propiedades y métodos para recuperar, evaluar, insertar, eliminar y actualizar los valores de DataTable.

Para crear un DataRow nuevo, utilice el método NewRow del objeto DataTable. Después de crear un DataRow nuevo, utilice el método Add para agregar el nuevo DataRow a DataRowCollection. Por último, llame al método AcceptChanges del objeto DataTable para confirmar la adición.

Puede eliminar un DataRow de DataRowCollection llamando al método Remove de DataRowCollection, o bien llamando al método Delete del objeto DataRow. El método Remove quita de la colección la fila. En cambio, Delete marca el DataRow que se va a quitar. La eliminación real se produce cuando se llama al método AcceptChanges. Al llamar a Delete, se puede comprobar mediante programación qué filas están marcadas para eliminación antes de eliminarlas.

Referencia
  1. System.Data: proporciona acceso a las clases que representan la arquitectura de ADO.NET.
  2. AcceptChanges: Confirma todos los cambios realizados en esta fila.
  3. Add: Agrega un objeto DataRow a la colección DataRowCollection.
  4. DataColumnCollection: Representa una colección de objetos DataColumn de una tabla DataTable.
  5. DataColumn: Representa el esquema de una columna en un DataTable.
  6. DataRowView: Representa un vista personalizada de DataRow.
  7. DataTable: Representa una tabla de datos en memoria.
  8. DataRow.HasVersion: Obtiene un valor que indica si existe una versión especificada.
  9. IsNull: Obtiene un valor que indica si la columna especificada contiene un valor null.
  10. Item: Obtiene o establece datos almacenados en una columna especificada.
Ejemplo:
tengo un formulario donde muestro un listview y un grafico.
En el listview se muestran tres filas pero en el gráfico solo debo mostrar una de ellas, algo como esto:
Listview:
       Colum 1 Colum 2 ....
Fila 1
Fila 2
Fila 3

Grafico
       Colum 1 Colum 2 ....
Fila 3

Para llenar el listview:
Dim oDataBuscar As New DataTable

  Private Sub Busqueda(ByVal Periodo As String)
        lvDetalle.Items.Clear()
        Dim item As New ListViewItem
        Dim i As Integer
        Dim fila As DataRow

 
     oDataBuscar = oCD.Busqueda("", 0, "Anual", Periodo, "", 0).Tables("Control")

    If oDataBuscar.Rows().Count > 0 Then
    For Each fila In oDataBuscar.Rows()
    For i = 0 To lvDetalle.Columns.Count - 1
    If i = 0 Then
    item = lvDetalle.Items.Add(fila("PROCESO"))
    item.Tag = fila
      Else
      item.SubItems.Add(IIf(CInt(fila("ENE")) = 0, "-", FormatNumber(CInt(fila("ENE")), 0)))
      item.SubItems.Add(IIf(CInt(fila("FEB")) = 0, "-", FormatNumber(CInt(fila("FEB")), 0)))
      item.SubItems.Add(IIf(CInt(fila("MAR")) = 0, "-", FormatNumber(CInt(fila("MAR")), 0)))
      item.SubItems.Add(IIf(CInt(fila("ABR")) = 0, "-", FormatNumber(CInt(fila("ABR")), 0)))
      item.SubItems.Add(IIf(CInt(fila("MAY")) = 0, "-", FormatNumber(CInt(fila("MAY")), 0)))
      item.SubItems.Add(IIf(CInt(fila("JUN")) = 0, "-", FormatNumber(CInt(fila("JUN")), 0)))
      item.SubItems.Add(IIf(CInt(fila("JUL")) = 0, "-", FormatNumber(CInt(fila("JUL")), 0)))
      item.SubItems.Add(IIf(CInt(fila("AGO")) = 0, "-", FormatNumber(CInt(fila("AGO")), 0)))
      item.SubItems.Add(IIf(CInt(fila("SEP")) = 0, "-", FormatNumber(CInt(fila("SEP")), 0)))
      item.SubItems.Add(IIf(CInt(fila("OCT")) = 0, "-", FormatNumber(CInt(fila("OCT")), 0)))
      item.SubItems.Add(IIf(CInt(fila("NOV")) = 0, "-", FormatNumber(CInt(fila("NOV")), 0)))
      item.SubItems.Add(IIf(CInt(fila("DIC")) = 0, "-", FormatNumber(CInt(fila("DIC")), 0)))
       End If
           Next
             Next

            chrtGrafico1.DataSource = oDataBuscar '>>> aqui donde quiero solo mostrar la fila 3
   
            End If

    End Sub