Compartir vía


DataGrid.DataSource Propiedad

Definición

Obtiene o establece el origen de datos para el que muestra datos la cuadrícula.

public:
 property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public object DataSource { get; set; }
public object DataSource { get; set; }
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.DataSource : obj with get, set
member this.DataSource : obj with get, set
Public Property DataSource As Object

Valor de propiedad

Object

Objeto que funciona como un origen de datos.

Atributos

Ejemplos

En el DataSourceejemplo de código siguiente se muestra cómo establecer y, cuando sea necesario, DataMember, para enlazar un System.Windows.Forms.DataGrid objeto a y DataView a DataSet. En el ejemplo también se muestra cómo devolver orígenes de datos de System.Windows.Forms.DataGrid.

private:
   void BindToDataView( DataGrid^ myGrid )
   {
      // Create a DataView using the DataTable.
      DataTable^ myTable = gcnew DataTable( "Suppliers" );
      // Insert code to create and populate columns.
      DataView^ myDataView = gcnew DataView( myTable );
      myGrid->DataSource = myDataView;
   }

   void BindToDataSet( DataGrid^ myGrid )
   {
      // Create a DataSet.
      DataSet^ myDataSet = gcnew DataSet( "myDataSet" );
      // Insert code to populate DataSet with several tables.
      myGrid->DataSource = myDataSet;
      // Use the DataMember property to specify the DataTable.
      myGrid->DataMember = "Suppliers";
   }

   DataView^ GetDataViewFromDataSource()
   {
      // Create a DataTable variable, and set it to the DataSource.
      DataView^ myDataView;
      myDataView = (DataView^)(dataGrid1->DataSource);
      return myDataView;
   }

   DataSet^ GetDataSetFromDataSource()
   {
      // Create a DataSet variable, and set it to the DataSource.
      DataSet^ myDataSet;
      myDataSet = (DataSet^)(dataGrid1->DataSource);
      return myDataSet;
   }
private void BindToDataView(DataGrid myGrid){
    // Create a DataView using the DataTable.
    DataTable myTable = new DataTable("Suppliers");
    // Insert code to create and populate columns.
    DataView myDataView = new DataView(myTable);
    myGrid.DataSource = myDataView;
 }
 private void BindToDataSet(DataGrid myGrid){
    // Create a DataSet.
    DataSet myDataSet = new DataSet("myDataSet");
    // Insert code to populate DataSet with several tables.
    myGrid.DataSource = myDataSet;
    // Use the DataMember property to specify the DataTable.
    myGrid.DataMember = "Suppliers";
 }
 private DataView GetDataViewFromDataSource(){
    // Create a DataTable variable, and set it to the DataSource.
    DataView myDataView;
    myDataView = (DataView) dataGrid1.DataSource;
    return myDataView;
 }
 private DataSet GetDataSetFromDataSource(){
    // Create a DataSet variable, and set it to the DataSource.
    DataSet myDataSet;
    myDataSet = (DataSet) dataGrid1.DataSource;
    return myDataSet;
 }
Private Sub BindToDataView(myGrid As DataGrid)
    ' Create a DataView using the DataTable.
    Dim myTable As New DataTable("Suppliers")
    ' Insert code to create and populate columns.
    Dim myDatatView As New DataView(myTable)
    myGrid.DataSource = myDatatView
End Sub

Private Sub BindToDataSet(myGrid As DataGrid)
    ' Create a DataSet.
    Dim myDataSet As New DataSet("myDataSet")
    ' Insert code to populate DataSet with several tables.
    myGrid.DataSource = myDataSet
    ' Use the DataMember property to specify the DataTable.
    myGrid.DataMember = "Suppliers"
End Sub

Private Function GetDataViewFromDataSource() As DataView
    ' Create a DataTable variable, and set it to the DataSource.
    Dim myDatatView As DataView
    myDatatView = CType(dataGrid1.DataSource, DataView)
    Return myDatatView
End Function 'GetDataViewFromDataSource

Private Function GetDataSetFromDataSource() As DataSet
    ' Create a DataSet variable, and set it to the DataSource.
    Dim myDataSet As DataSet
    myDataSet = CType(dataGrid1.DataSource, DataSet)
    Return myDataSet
End Function 'GetDataSetFromDataSource

Comentarios

En tiempo de ejecución, use el SetDataBinding método para establecer las DataSource propiedades y DataMember .

Los siguientes orígenes de datos son válidos:

Consulte la información general de la Binding clase para obtener más información sobre los orígenes de datos.

Si la DataSource referencia contiene más de una tabla, debe establecer la DataMember propiedad una cadena que especifique la tabla a la que se va a enlazar. Por ejemplo, si DataSource es o DataViewManager DataSet que contiene tres tablas denominadas Customers, Ordersy OrderDetails, debe especificar la tabla a la que se va a enlazar.

Establecer en DataSource un objeto que no implementa la IList interfaz o IListSource hará que la cuadrícula produzca una excepción.

Puede crear una cuadrícula que permita a los usuarios editar datos, pero evitar que agreguen nuevas filas mediante un DataView como origen de datos y establecer la AddNew propiedad falseen .

Para enlazar a DataGrid una matriz fuertemente tipada de objetos, el tipo de objeto debe contener propiedades públicas. Para crear un DataGridTableStyle objeto que muestre la matriz, establezca la DataGridTableStyle.MappingName propiedad typename en donde typename se reemplaza por el nombre del tipo de objeto. Tenga en cuenta también que la MappingName propiedad distingue mayúsculas de minúsculas; el nombre del tipo debe coincidir exactamente. Vea la MappingName propiedad para obtener un ejemplo.

También puede enlazar a DataGrid .ArrayList Una característica de ArrayList es que puede contener objetos de varios tipos, pero solo DataGrid se puede enlazar a dicha lista cuando todos los elementos de la lista tienen el mismo tipo que el primer elemento. Esto significa que todos los objetos deben ser del mismo tipo o deben heredar de la misma clase que el primer elemento de la lista. Por ejemplo, si el primer elemento de una lista es , Controlel segundo elemento podría ser un TextBox elemento (que hereda de Control). Si, por otro lado, el primer elemento es , TextBoxel segundo objeto no puede ser .Control Además, debe ArrayList tener elementos en él cuando está enlazado. Un vacío ArrayList dará como resultado una cuadrícula vacía. Además, los objetos de ArrayList deben contener propiedades públicas. Cuando se enlaza a , ArrayListestablezca el MappingName de en DataGridTableStyle "ArrayList" (el nombre de tipo).

Se aplica a

Consulte también