DataGridTableStyle.MappingName Proprietà

Definizione

Ottiene o imposta il nome usato per eseguire il mapping della tabella e associarla a un'origine dati specifica.

C#
public string MappingName { get; set; }

Valore della proprietà

Nome usato per eseguire il mapping della griglia e associarla a un'origine dati specifica.

Esempio

Nell'esempio di codice seguente viene creata una matrice di Widget oggetti e viene associato un System.Windows.Forms.DataGrid controllo alla matrice. Il codice crea quindi un DataGridTableStyle oggetto e imposta sul MappingName nome della classe più parentesi quadre.

C#

    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;}
        }
    }

Commenti

Per associare l'oggetto DataGrid a una matrice fortemente tipizzata di oggetti, il tipo di oggetto deve contenere proprietà pubbliche. Per creare un DataGridTableStyle oggetto che visualizza la matrice, impostare la DataGridTableStyle.MappingName proprietà su typename dove typename viene sostituito dal nome del tipo di oggetto. Si noti anche che la MappingName proprietà fa distinzione tra maiuscole e minuscole. Il nome del tipo deve corrispondere esattamente. Per un esempio, vedere la MappingName proprietà .

È anche possibile associare l'oggetto DataGrid a un oggetto ArrayList. Una funzionalità di ArrayList è che può contenere oggetti di più tipi, ma DataGrid può essere associato solo a tale elenco quando tutti gli elementi dell'elenco sono dello stesso tipo del primo elemento. Ciò significa che tutti gli oggetti devono essere dello stesso tipo oppure devono ereditare dalla stessa classe del primo elemento dell'elenco. Ad esempio, se il primo elemento di un elenco è , Controlil secondo elemento può essere un oggetto TextBox (che eredita da Control). Se, d'altra parte, il primo elemento è un TextBoxoggetto , il secondo oggetto non può essere un oggetto Control. Inoltre, deve ArrayList avere elementi al suo interno quando è associato. Un valore vuoto ArrayList comporterà una griglia vuota. Quando si esegue l'associazione a un ArrayListoggetto , impostare l'oggetto MappingNameDataGridTableStyle di su "ArrayList" (il nome del tipo).

Il valore predefinito è il nome dell'elenco gestito da CurrencyManager per questa griglia. L'oggetto CurrencyManagerDataGridTableStyle per è impostato utilizzando il DataGridTableStyle costruttore .

L'evento MappingNameChanged si verifica quando il MappingName valore viene modificato.

Si applica a

Prodotto Versioni
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 10

Vedi anche