DataGridTableStyle.MappingName Proprietà

Definizione

Ottiene o imposta il nome usato per eseguire il mapping della tabella e associarla a un'origine dati specifica.Gets or sets the name used to map this table to a specific data source.

public:
 property System::String ^ MappingName { System::String ^ get(); void set(System::String ^ value); };
public string MappingName { get; set; }
member this.MappingName : string with get, set
Public Property MappingName As String

Valore della proprietà

Nome usato per eseguire il mapping della griglia e associarla a un'origine dati specifica.The name used to map this grid to a specific data source.

Esempi

Nell'esempio di codice seguente viene creata una matrice di oggetti Widget e viene associato un controllo System.Windows.Forms.DataGrid alla matrice.The following code example creates an array of Widget objects and binds a System.Windows.Forms.DataGrid control to the array. Il codice crea quindi un DataGridTableStyle e imposta il MappingName sul nome della classe più le parentesi quadre.The code then creates a DataGridTableStyle and sets the MappingName to the name of the class plus brackets.


    void BindToArray()
    {
        // Create an array of Machine objects (defined below).
        array<Machine^>^ Machines = gcnew array<Machine^>(3);
        Machine^ tempMachine;

        tempMachine = gcnew Machine();
        tempMachine->Model = "AAA";
        tempMachine->Id = "A100";
        tempMachine->Price = Convert::ToDecimal(3.80);
        Machines[0] = tempMachine;

        // The first Machine includes an array of Part objects.
        Part^ p1 = gcnew Part();
        p1->PartId = "PartX";
        Part^ p2 = gcnew Part();
        p2->PartId = "PartY";

        // Note that the Machines.Parts property returns an ArrayList.
        // Add the parts to the ArrayList using the AddRange method.
        tempMachine->Parts->AddRange(gcnew array<Part^> {p1, p2}); 

        tempMachine = gcnew Machine();
        tempMachine->Model = "BBB";
        tempMachine->Id = "B100";
        tempMachine->Price = Convert::ToDecimal(1.52);
        Machines[1] = tempMachine;

        tempMachine = gcnew Machine();
        tempMachine->Id = "CCC";
        tempMachine->Model = "B100";
        tempMachine->Price = Convert::ToDecimal(2.14);
        Machines[2] = tempMachine;

        bindedDataGrid->SetDataBinding(Machines, "");
        CreateTableStyle();
    }

    void CreateTableStyle()
    {
        // Creates two DataGridTableStyle objects, one for the Machine
        // array, and one for the Parts ArrayList.

        DataGridTableStyle^ machineTable = gcnew DataGridTableStyle();
        // Sets the MappingName to the class name plus brackets.
        machineTable->MappingName = "Machine[]";

        // Sets the AlternatingBackColor so you can see the difference.
        machineTable->AlternatingBackColor = 
            System::Drawing::Color::LightBlue;

        // Creates three column styles.
        DataGridTextBoxColumn^ modelColumn = gcnew DataGridTextBoxColumn();
        modelColumn->MappingName = "Model";
        modelColumn->HeaderText = "Model";

        DataGridTextBoxColumn^ idColumn = gcnew DataGridTextBoxColumn();
        idColumn->MappingName = "Id";
        idColumn->HeaderText = "Id";

        DataGridTextBoxColumn^ priceColumn = gcnew DataGridTextBoxColumn();
        priceColumn->MappingName = "Price";
        priceColumn->HeaderText = "Price";
        priceColumn->Format = "c";

        // Adds the column styles to the grid table style.
        machineTable->GridColumnStyles->Add(modelColumn);
        machineTable->GridColumnStyles->Add(idColumn);
        machineTable->GridColumnStyles->Add(priceColumn);

        // Add the table style to the collection, but clear the
        // collection first.
        bindedDataGrid->TableStyles->Clear();
        bindedDataGrid->TableStyles->Add(machineTable);

        // Create another table style, one for the related data.
        DataGridTableStyle^ partsTable = gcnew DataGridTableStyle();
        // Set the MappingName to an ArrayList. Note that you need not
        // include brackets.
        partsTable->MappingName = "ArrayList";
        DataGridTextBoxColumn^ partIdColumn = 
            gcnew DataGridTextBoxColumn();
        partIdColumn->MappingName = "PartID";
        partIdColumn->HeaderText = "Part ID";
        partsTable->GridColumnStyles->Add(partIdColumn);
        bindedDataGrid->TableStyles->Add(partsTable);
    }

private:
    ref class Machine
    {
    private:
        String^ machineModel;
        String^ machineID;
        Decimal machinePrice;

        // Use an ArrayList to create a related collection.
        ArrayList^ machineParts;

    public:
        Machine()
        {
            machineParts = gcnew ArrayList; 
        }   

        property String^ Model
        {
            String^ get()
            {
                return machineModel;
            }
            void set(String^ value)
            {
                machineModel = value;
            }
        }

        property String^ Id
        {
            String^ get()
            {
                return machineID;
            }
            void set(String^ value)
            {
                machineID = value;
            }
        }

        property ArrayList^ Parts
        {
            ArrayList^ get()
            {
                return machineParts;
            }
            void set(ArrayList^ value)
            {
                machineParts = value;
            }
        }

        property Decimal Price
        {
            Decimal get()
            {
                return machinePrice;
            }
            void set(Decimal value)
            {
                machinePrice = value;
            }
        }
    };

private:
    ref class Part
    {
    private:
        String^ partId;

    public:
        property String^ PartId
        {
            String^ get()
            {
                return partId;
            }
            void set(String^ value)
            {
                partId = value;
            }
        }
    };

    private void BindToArray()
    {
        // Create an array of Machine objects (defined below).
        Machine[] Machines = new Machine[3];
        Machine tempMachine;

        tempMachine= new Machine();
        tempMachine.Model = "AAA";
        tempMachine.Id= "A100";
        tempMachine.Price= Convert.ToDecimal(3.80);
        Machines[0]=tempMachine;

        // The first Machine includes an array of Part objects.
        Part p1 = new Part();
        p1.PartId= "PartX";
        Part p2 = new Part();
        p2.PartId= "PartY";

        // Note that the Machines.Parts property returns an ArrayList.
        // Add the parts to the ArrayList using the AddRange method.
        tempMachine.Parts.AddRange (new Part[]{p1, p2});;

        tempMachine= new Machine();
        tempMachine.Model = "BBB";
        tempMachine.Id= "B100";
        tempMachine.Price= Convert.ToDecimal(1.52);
        Machines[1]=tempMachine;

        tempMachine= new Machine();
        tempMachine.Id= "CCC";
        tempMachine.Model = "B100";
        tempMachine.Price= Convert.ToDecimal(2.14);
        Machines[2]=tempMachine;

        dataGrid1.SetDataBinding(Machines, "");
        CreateTableStyle();
    }

    private void CreateTableStyle()
    {
        // Creates two DataGridTableStyle objects, one for the Machine
        // array, and one for the Parts ArrayList.

        DataGridTableStyle MachineTable = new DataGridTableStyle();
        // Sets the MappingName to the class name plus brackets.    
        MachineTable.MappingName= "Machine[]";

        // Sets the AlternatingBackColor so you can see the difference.
        MachineTable.AlternatingBackColor= System.Drawing.Color.LightBlue;

        // Creates three column styles.
        DataGridTextBoxColumn modelColumn = new DataGridTextBoxColumn();
        modelColumn.MappingName= "Model";
        modelColumn.HeaderText= "Model";

        DataGridTextBoxColumn IdColumn = new DataGridTextBoxColumn();
        IdColumn.MappingName= "Id";
        IdColumn.HeaderText= "Id";

        DataGridTextBoxColumn priceColumn = new DataGridTextBoxColumn();
        priceColumn.MappingName= "Price";
        priceColumn.HeaderText= "Price";
        priceColumn.Format = "c";

        // Adds the column styles to the grid table style.
        MachineTable.GridColumnStyles.Add(modelColumn);
        MachineTable.GridColumnStyles.Add(IdColumn);
        MachineTable.GridColumnStyles.Add(priceColumn);

        // Add the table style to the collection, but clear the 
        // collection first.
        dataGrid1.TableStyles.Clear();
        dataGrid1.TableStyles.Add(MachineTable);

        // Create another table style, one for the related data.
        DataGridTableStyle partsTable = new DataGridTableStyle();
        // Set the MappingName to an ArrayList. Note that you need not 
        // include brackets.
        partsTable.MappingName= "ArrayList";
        DataGridTextBoxColumn partIdColumn = new DataGridTextBoxColumn();
        partIdColumn.MappingName= "PartID";
        partIdColumn.HeaderText = "Part ID";
        partsTable.GridColumnStyles.Add(partIdColumn);

        dataGrid1.TableStyles.Add(partsTable);

    }
    public class Machine
    {
        private string model;
        private string id;
        private decimal price;

        // Use an ArrayList to create a related collection.
        private ArrayList parts = new ArrayList();
    
        public string Model
        {
            get{return model;}
            set{model=value;}
        }
        public string Id
        {
            get{return id;}
            set{id = value;}
        }
        public ArrayList Parts
        {
            get{return parts;}
            set{parts = value;}
        }

        public decimal Price
        {
            get{return price;}
            set{price = value;}
        }
    }

    public class Part
    {
        private string partId;
    
        public string PartId
        {
            get{return partId;}
            set{partId = value;}
        }
    }
Sub BindToArray()
    ' Creates an array of Widget objects (defined below).
    Dim Widgets(2) As Widget
    Dim tempWidget As Widget

    tempWidget = New Widget()
    tempWidget.Model = "AAA"
    tempWidget.Id = "A100"
    tempWidget.Price = Convert.ToDecimal(3.8)
    Widgets(0) = tempWidget

    ' The first Widget includes an array of Part objects.
    Dim p1 As New Part()
    p1.PartId = "PartX"
    Dim p2 As New Part()
    p2.PartId = "PartY"

    ' Note that the Widgets.Parts property returns an ArrayList.
    ' Add the parts to the ArrayList using the AddRange method.
    tempWidget.Parts.AddRange(New Part() {p1, p2})

    tempWidget = New Widget()
    tempWidget.Model = "BBB"
    tempWidget.Id = "B100"
    tempWidget.Price = Convert.ToDecimal(1.52)
    Widgets(1) = tempWidget

    tempWidget = New Widget()
    tempWidget.Id = "CCC"
    tempWidget.Model = "B100"
    tempWidget.Price = Convert.ToDecimal(2.14)
    Widgets(2) = tempWidget

    DataGrid1.SetDataBinding(Widgets, "")
    CreateTableStyle()
End Sub


Private Sub CreateTableStyle()
    ' Creates two DataGridTableStyle objects, one for the Widget
    ' array, and one for the Parts ArrayList.
    Dim widgetTable As New DataGridTableStyle()
    ' Sets the MappingName to the class name plus brackets.    
    widgetTable.MappingName = "Widget[]"

    ' Sets the AlternatingBackColor so you can see the difference.
    widgetTable.AlternatingBackColor = System.Drawing.Color.LightBlue

    ' Creates three column styles.
    Dim modelColumn As New DataGridTextBoxColumn()
    modelColumn.MappingName = "Model"
    modelColumn.HeaderText = "Model"

    Dim IdColumn As New DataGridTextBoxColumn()
    IdColumn.MappingName = "Id"
    IdColumn.HeaderText = "Id"

    Dim priceColumn As New DataGridTextBoxColumn()
    priceColumn.MappingName = "Price"
    priceColumn.HeaderText = "Price"
    priceColumn.Format = "c"

    ' Adds the column styles to the grid table style.
    widgetTable.GridColumnStyles.Add(modelColumn)
    widgetTable.GridColumnStyles.Add(IdColumn)
    widgetTable.GridColumnStyles.Add(priceColumn)

    ' Add the table style to the collection, but clear the 
    ' collection first.
    DataGrid1.TableStyles.Clear()
    DataGrid1.TableStyles.Add(widgetTable)

    ' Create another table style, one for the related data.
    Dim partsTable As New DataGridTableStyle()
    ' Set the MappingName to an ArrayList. Note that you need not 
    ' include brackets.
    partsTable.MappingName = "ArrayList"
    Dim partIdColumn As New DataGridTextBoxColumn()
    partIdColumn.MappingName = "PartID"
    partIdColumn.HeaderText = "Part ID"
    partsTable.GridColumnStyles.Add(partIdColumn)

    DataGrid1.TableStyles.Add(partsTable)
End Sub


Public Class Widget
    Private myModel As String
    Private myId As String
    Private myPrice As Decimal

    ' Use an ArrayList to create a related collection.
    Private myParts As New ArrayList()

    Public Property Model() As String
        Get
            Return myModel
        End Get
        Set(ByVal Value As String)
            myModel = Value
        End Set
    End Property

    Public Property Id() As String
        Get
            Return myId
        End Get
        Set(ByVal Value As String)
            myId = Value
        End Set
    End Property

    Public Property Parts() As ArrayList
        Get
            Return myParts
        End Get
        Set(ByVal Value As ArrayList)
            myParts = Value
        End Set
    End Property

    Public Property Price() As Decimal
        Get
            Return myPrice
        End Get
        Set(ByVal Value As Decimal)
            myPrice = Value
        End Set
    End Property
End Class


Public Class Part
    Private myPartId As String


    Public Property PartId() As String
        Get
            Return myPartId
        End Get
        Set(ByVal Value As String)
            myPartId = Value
        End Set
    End Property
End Class

Commenti

Per associare il DataGrid a una matrice fortemente tipizzata di oggetti, il tipo di oggetto deve contenere proprietà pubbliche.To bind the DataGrid to a strongly typed array of objects, the object type must contain public properties. Per creare un DataGridTableStyle che visualizza la matrice, impostare la proprietà DataGridTableStyle.MappingName su typename dove typename viene sostituita dal nome del tipo di oggetto.To create a DataGridTableStyle that displays the array, set the DataGridTableStyle.MappingName property to typename where typename is replaced by the name of the object type. Si noti inoltre che la proprietà MappingName fa distinzione tra maiuscole e minuscole. il nome del tipo deve corrispondere esattamente.Also note that the MappingName property is case-sensitive; the type name must be matched exactly. Per un esempio, vedere la proprietà MappingName.See the MappingName property for an example.

È anche possibile associare il DataGrid a un ArrayList.You can also bind the DataGrid to an ArrayList. Una funzionalità di ArrayList è che può contenere oggetti di più tipi, ma il DataGrid può essere associato a tale elenco solo quando tutti gli elementi dell'elenco sono dello stesso tipo del primo elemento.A feature of the ArrayList is that it can contain objects of multiple types, but the DataGrid can only bind to such a list when all items in the list are of the same type as the first item. Ciò significa che tutti gli oggetti devono essere dello stesso tipo o devono ereditare dalla stessa classe del primo elemento nell'elenco.This means that all objects must either be of the same type, or they must inherit from the same class as the first item in the list. Se, ad esempio, il primo elemento di un elenco è un Control, il secondo elemento potrebbe essere un TextBox (che eredita da Control).For example, if the first item in a list is a Control, the second item could be a TextBox (which inherits from Control). Se, invece, il primo elemento è un TextBox, il secondo oggetto non può essere un Control.If, on the other hand, the first item is a TextBox, the second object cannot be a Control. Inoltre, il ArrayList deve contenere elementi quando viene associato.Further, the ArrayList must have items in it when it is bound. Un ArrayList vuoto comporterà una griglia vuota.An empty ArrayList will result in an empty grid. Quando si esegue il binding a un ArrayList, impostare il MappingName del DataGridTableStyle su "ArrayList" (il nome del tipo).When binding to an ArrayList, set the MappingName of the DataGridTableStyle to "ArrayList" (the type name).

Il valore predefinito è il nome dell'elenco gestito dal CurrencyManager per questa griglia.The default is the name of the list managed by the CurrencyManager for this grid. Il CurrencyManager per il DataGridTableStyle viene impostato utilizzando il costruttore DataGridTableStyle.The CurrencyManager for the DataGridTableStyle is set using the DataGridTableStyle constructor.

L'evento MappingNameChanged si verifica quando cambia il valore di MappingName.The MappingNameChanged event occurs when the MappingName value changes.

Si applica a

Vedi anche