DataGrid.DataSource Egenskap

Definition

Hämtar eller anger den datakälla som rutnätet visar data för.

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

Egenskapsvärde

Ett objekt som fungerar som en datakälla.

Attribut

Exempel

I följande kodexempel visas hur du anger DataSource och vid behov DataMember, för att binda en System.Windows.Forms.DataGrid till både en DataView och en DataSet. Exemplet visar också hur du returnerar datakällor från 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

Kommentarer

Vid körning använder du SetDataBinding metoden för att ange DataSource egenskaperna och DataMember .

Följande datakällor är giltiga:

Mer information om datakällor finns i Binding klassöversikten.

Om referensen DataSource innehåller mer än en tabell måste du ange DataMember egenskapen som en sträng som anger tabellen som ska bindas till. Om till DataSource exempel är en DataSet eller DataViewManager som innehåller tre tabeller med namnet Customers, Ordersoch OrderDetails, måste du ange tabellen som ska bindas till.

DataSource Om du anger till ett objekt som inte implementerar IList gränssnittet eller ett IListSource kommer rutnätet att utlösa ett undantag.

Du kan skapa ett rutnät som gör det möjligt för användare att redigera data, men hindrar dem från att lägga till nya rader med hjälp av en DataView som datakälla och ställa in AddNew() egenskapen på false.

Om du vill binda DataGrid till en starkt typifierad matris med objekt måste objekttypen innehålla offentliga egenskaper. Om du vill skapa en DataGridTableStyle som visar matrisen DataGridTableStyle.MappingName anger du egenskapen till typename där typename ersätts med namnet på objekttypen. Observera också att egenskapen MappingName är skiftlägeskänslig. Typnamnet måste matchas exakt. Se egenskapen MappingName för ett exempel.

Du kan också binda DataGrid till en ArrayList. En funktion i ArrayList är att den kan innehålla objekt av flera typer, men kan DataGrid bara binda till en sådan lista när alla objekt i listan är av samma typ som det första objektet. Det innebär att alla objekt antingen måste vara av samma typ, eller så måste de ärva från samma klass som det första objektet i listan. Om det första objektet i en lista till exempel är ett Controlkan det andra objektet vara ett TextBox (som ärver från Control). Om det första objektet å andra sidan är ett TextBoxkan det andra objektet inte vara ett Control. Dessutom ArrayList måste ha objekt i den när den är bunden. Ett tomt ArrayList rutnät resulterar i ett tomt rutnät. Dessutom måste objekten ArrayList i måste innehålla offentliga egenskaper. När du binder till en ArrayListanger du MappingNameDataGridTableStyle för "ArrayList" (typnamnet).

Gäller för

Se även