BaseDataList.DataMember Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает определенный элемент данных в многомемерном источнике данных для привязки к элементу управления перечислением данных.
public:
property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public string DataMember { get; set; }
[System.Web.UI.Themeable(false)]
public string DataMember { get; set; }
member this.DataMember : string with get, set
[<System.Web.UI.Themeable(false)>]
member this.DataMember : string with get, set
Public Property DataMember As String
Значение свойства
Элемент данных из многомерного источника данных. Значение по умолчанию — Empty.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать DataMember свойство для указания таблицы в объекте DataSet для привязки к элементу DataGrid управления.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace = "System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title> BaseDataList DataMember Example </title>
<script runat="server">
// Create sample data for the DataGrid control with two tables,
// Employee and Customer.
DataSet CreateDataSet()
{
// Create a table to store employee values.
DataTable EmployeeTable = new DataTable("Employee");
DataRow TempDataRow;
// Define the columns for the Employee table.
EmployeeTable.Columns.Add(
new DataColumn("EmployeeName", typeof(string)));
EmployeeTable.Columns.Add(
new DataColumn("EmployeeID", typeof(int)));
// Populate the Employee table.
for (int i=1; i<=5; i++)
{
TempDataRow = EmployeeTable.NewRow();
TempDataRow[0] = "Employee " + i.ToString();
TempDataRow[1] = (i+1700);
EmployeeTable.Rows.Add(TempDataRow);
}
// Create a table to store customer values.
DataTable CustomerTable = new DataTable("Customer");
// Define the columns for the Customer table.
CustomerTable.Columns.Add(
new DataColumn("CustomerName", typeof(string)));
CustomerTable.Columns.Add(
new DataColumn("CustomerID", typeof(int)));
// Populate the Customer table.
for (int i=1; i<=5; i++)
{
TempDataRow = CustomerTable.NewRow();
TempDataRow[0] = "Customer " + i.ToString();
TempDataRow[1] = (i+1700);
CustomerTable.Rows.Add(TempDataRow);
}
// Create a DataSet and add the Employee and Customer tables.
DataSet ds = new DataSet();
ds.Tables.Add(EmployeeTable);
ds.Tables.Add(CustomerTable);
return ds;
}
void Page_Load(Object sender, EventArgs e)
{
// The data source only needs to be bound to the DataList
// control the first time the page is accessed.
if(!IsPostBack)
{
// Create the sample data for the DataList control.
ItemsGrid.DataSource = CreateDataSet();
// The data source in this example contains multiple tables.
// Specify which table to display in the DataList control.
ItemsGrid.DataMember = "Customer";
// Bind the data source to the control.
ItemsGrid.DataBind();
}
}
void Index_Change(Object sender, EventArgs e)
{
// Create the sample data for the DataList control.
ItemsGrid.DataSource = CreateDataSet();
// The data source in this example contains multiple tables.
// Specify which table to display in the DataList control
// based on the user's selection from the DropDownList control.
ItemsGrid.DataMember = SourceList.SelectedItem.Text;
// Bind the data source to the control.
ItemsGrid.DataBind();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> BaseDataList DataMember Example </h3>
<asp:DataGrid id="ItemsGrid"
AutoGenerateColumns="True"
runat="server">
<headerstyle backcolor="#00aaaa"/>
</asp:DataGrid>
<br /><br />
Select the data source: <br />
<asp:DropDownList id="SourceList"
AutoPostBack="True"
OnSelectedIndexChanged="Index_Change"
runat="server">
<asp:Listitem Selected="True">Customer</asp:Listitem>
<asp:Listitem>Employee</asp:Listitem>
</asp:DropDownList>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace = "System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title> BaseDataList DataMember Example </title>
<script runat="server">
' Create sample data for the DataGrid control with two tables,
' Employee and Customer.
Function CreateDataSet() As DataSet
' Create a table to store employee values.
Dim EmployeeTable As DataTable = New DataTable("Employee")
Dim TempDataRow As DataRow
' Define the columns for the Employee table.
EmployeeTable.Columns.Add( _
New DataColumn("EmployeeName", GetType(String)))
EmployeeTable.Columns.Add( _
New DataColumn("EmployeeID", GetType(Integer)))
' Populate the Employee table.
Dim i As Integer
For i=1 To 5
TempDataRow = EmployeeTable.NewRow()
TempDataRow(0) = "Employee " & i.ToString()
TempDataRow(1) = (i+1700)
EmployeeTable.Rows.Add(TempDataRow)
Next
' Create a table to store customer values.
Dim CustomerTable As DataTable = New DataTable("Customer")
' Define the columns for the Customer table.
CustomerTable.Columns.Add( _
New DataColumn("CustomerName", GetType(String)))
CustomerTable.Columns.Add( _
New DataColumn("CustomerID", GetType(Integer)))
' Populate the Customer table.
For i=1 To 5
TempDataRow = CustomerTable.NewRow()
TempDataRow(0) = "Customer " & i.ToString()
TempDataRow(1) = (i+1700)
CustomerTable.Rows.Add(TempDataRow)
Next
' Create a DataSet and add the Employee and Customer tables.
Dim ds As DataSet = New DataSet()
ds.Tables.Add(EmployeeTable)
ds.Tables.Add(CustomerTable)
Return ds
End Function
Sub Page_Load(sender As Object, e As EventArgs)
' The data source only needs to be bound to the DataList
' control the first time the page is accessed.
If Not IsPostBack Then
' Create the sample data for the DataList control.
ItemsGrid.DataSource = CreateDataSet()
' The data source in this example contains multiple tables.
' Specify which table to display in the DataList control.
ItemsGrid.DataMember = "Customer"
' Bind the data source to the control.
ItemsGrid.DataBind()
End If
End Sub
Sub Index_Change(sender As Object, e As EventArgs)
' Create the sample data for the DataList control.
ItemsGrid.DataSource = CreateDataSet()
' The data source in this example contains multiple tables.
' Specify which table to display in the DataList control
' based on the user's selection from the DropDownList control.
ItemsGrid.DataMember = SourceList.SelectedItem.Text
' Bind the data source to the control.
ItemsGrid.DataBind()
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> BaseDataList DataMember Example </h3>
<asp:DataGrid id="ItemsGrid"
AutoGenerateColumns="True"
runat="server">
<headerstyle backcolor="#00aaaa"/>
</asp:DataGrid>
<br /><br />
Select the data source: <br />
<asp:DropDownList id="SourceList"
AutoPostBack="True"
OnSelectedIndexChanged="Index_Change"
runat="server">
<asp:Listitem Selected="True">Customer</asp:Listitem>
<asp:Listitem>Employee</asp:Listitem>
</asp:DropDownList>
</form>
</body>
</html>
Комментарии
DataMember Используйте свойство, чтобы указать элемент из многомерного источника данных для привязки к элементу управления списком. Например, если у вас есть источник данных с несколькими таблицами, указанными в свойстве DataSource , используйте DataMember свойство, чтобы указать таблицу для привязки к элементу управления перечислением данных.
Это свойство не может быть задано темами или темами таблицы стилей. Дополнительные сведения см. в статье ThemeableAttributeи ASP.NET темы и скины.