DataGridTableStyle.MappingName-Eigenschaft
Ruft den Namen ab, mit dem diese Tabelle einer bestimmten Datenquelle zugeordnet wird, oder legt diesen fest.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Property MappingName As String
'Usage
Dim instance As DataGridTableStyle
Dim value As String
value = instance.MappingName
instance.MappingName = value
public string MappingName { get; set; }
public:
property String^ MappingName {
String^ get ();
void set (String^ value);
}
/** @property */
public String get_MappingName ()
/** @property */
public void set_MappingName (String value)
public function get MappingName () : String
public function set MappingName (value : String)
Eigenschaftenwert
Der Name, mit dem diese Tabelle einer bestimmten Datenquelle zugeordnet wird.
Hinweise
Das DataGrid kann nur an ein stark typisiertes Array von Objekten gebunden werden, wenn der Objekttyp öffentliche Eigenschaften enthält. Legen Sie zum Erstellen eines DataGridTableStyle, der das Array anzeigt, die DataGridTableStyle.MappingName-Eigenschaft auf typename fest, wobei typename durch den Namen des Objekttyps ersetzt wird. Bei der MappingName-Eigenschaft wird die Groß- und Kleinschreibung berücksichtigt, achten Sie daher darauf, dass der Typname exakt überstimmt. Ein Beispiel finden Sie unter der MappingName-Eigenschaft.
Sie können das DataGrid auch an eine ArrayList binden. Ein Feature der ArrayList ist, dass sie Objekte verschiedenen Typs enthalten kann. Das DataGrid kann aber nur an eine Liste gebunden werden, in der alle Elemente von demselben Typ wie das erste Element sind. Das heißt, dass alle Objekte denselben Typ haben oder von derselben Klasse erben müssen wie das erste Listenelement. Wenn z. B. das erste Element in der Liste ein Control ist, kann das zweite Element eine TextBox sein (die von Control erbt). Wenn jedoch das erste Element eine TextBox ist, kann das zweite Objekt kein Control sein. Eine ArrayList muss außerdem Elemente enthalten, wenn es gebunden wird. Eine leere ArrayList ergibt ein leeres Datenblatt. Legen Sie zum Binden an eine ArrayList den MappingName des DataGridTableStyle auf "ArrayList" (den Typnamen) fest.
Der Standardname ist der Name der Liste, die vom CurrencyManager für diese Tabelle verwaltet wird. Der CurrencyManager für den DataGridTableStyle wird unter Verwendung des DataGridTableStyle-Konstruktors festgelegt.
Das MappingNameChanged-Ereignis tritt ein, wenn sich der MappingName-Wert ändert.
Beispiel
Im folgenden Codebeispiel wird ein Array von Widget
-Objekten erstellt und ein System.Windows.Forms.DataGrid-Steuerelement an das Array gebunden. Im Code wird dann ein DataGridTableStyle erstellt und der MappingName auf den Namen der Klasse mit Klammern festgelegt.
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
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;}
}
}
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.set_Model("AAA");
tempMachine.set_Id("A100");
tempMachine.set_Price(Convert.ToDecimal(3.8));
machines.set_Item(0, tempMachine);
// The first Machine includes an array of Part objects.
Part p1 = new Part();
p1.set_PartId("PartX");
Part p2 = new Part();
p2.set_PartId("PartY");
// Note that the machines.Parts property returns an ArrayList.
// Add the parts to the ArrayList using the AddRange method.
tempMachine.get_Parts().AddRange(new Part[] { p1, p2 });
tempMachine = new Machine();
tempMachine.set_Model("BBB");
tempMachine.set_Id("B100");
tempMachine.set_Price(Convert.ToDecimal(1.52));
machines.set_Item(1, tempMachine);
tempMachine = new Machine();
tempMachine.set_Id("CCC");
tempMachine.set_Model("B100");
tempMachine.set_Price(Convert.ToDecimal(2.14));
machines.set_Item(2, tempMachine);
dataGrid1.SetDataBinding(machines, "");
CreateTableStyle();
} //BindToArray
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.set_MappingName("Machine[]");
// Sets the AlternatingBackColor so you can see the difference.
MachineTable.set_AlternatingBackColor(System.Drawing.Color.
get_LightBlue());
// Creates three column styles.
DataGridTextBoxColumn modelColumn = new DataGridTextBoxColumn();
modelColumn.set_MappingName("Model");
modelColumn.set_HeaderText("Model");
DataGridTextBoxColumn IdColumn = new DataGridTextBoxColumn();
IdColumn.set_MappingName("Id");
IdColumn.set_HeaderText("Id");
DataGridTextBoxColumn priceColumn = new DataGridTextBoxColumn();
priceColumn.set_MappingName("Price");
priceColumn.set_HeaderText("Price");
priceColumn.set_Format("c");
// Adds the column styles to the grid table style.
MachineTable.get_GridColumnStyles().Add(modelColumn);
MachineTable.get_GridColumnStyles().Add(IdColumn);
MachineTable.get_GridColumnStyles().Add(priceColumn);
// Add the table style to the collection, but clear the
// collection first.
dataGrid1.get_TableStyles().Clear();
dataGrid1.get_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.set_MappingName("ArrayList");
DataGridTextBoxColumn partIdColumn = new DataGridTextBoxColumn();
partIdColumn.set_MappingName("PartID");
partIdColumn.set_HeaderText("Part ID");
partsTable.get_GridColumnStyles().Add(partIdColumn);
dataGrid1.get_TableStyles().Add(partsTable);
} //CreateTableStyle
public class Machine
{
private String model;
private String id;
private System.Decimal price;
// Use an ArrayList to create a related collection.
private ArrayList parts = new ArrayList();
/** @property
*/
public String get_Model()
{
return model;
} //get_Model
/** @property
*/
public void set_Model(String value)
{
model = value;
} //set_Model
/** @property
*/
public String get_Id()
{
return id;
} //get_Id
/** @property
*/
public void set_Id(String value)
{
id = value;
} //set_Id
/** @property
*/
public ArrayList get_Parts()
{
return parts;
} //get_Parts
/** @property
*/
public void set_Parts(ArrayList value)
{
parts = value;
} //set_Parts
/** @property
*/
public System.Decimal get_Price()
{
return price;
} //get_Price
/** @property
*/
public void set_Price(System.Decimal value)
{
price = value;
} //set_Price
} //Machine
public class Part
{
private String partId;
/** @property
*/
public String get_PartId()
{
return partId;
} //get_PartId
/** @property
*/
public void set_PartId(String value)
{
partId = value;
} //set_PartId
} //Part
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
DataGridTableStyle-Klasse
DataGridTableStyle-Member
System.Windows.Forms-Namespace
CurrencyManager-Klasse
DataGrid-Klasse
DataGridColumnStyle-Klasse
DataGrid.TableStyles-Eigenschaft