HtmlSelect.DataMember Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o conjunto de dados para se ligar ao HtmlSelect controlo a partir de uma DataSource propriedade com múltiplos conjuntos de dados.
public:
virtual property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataMember { get; set; }
member this.DataMember : string with get, set
Public Overridable Property DataMember As String
Valor de Propriedade
O conjunto de dados a ligar ao HtmlSelect controlo a partir de um DataSource com múltiplos conjuntos de dados. O valor padrão é uma cadeia vazia (""), o que indica que a propriedade não foi definida.
Exceções
A DataMember propriedade é definida durante a fase de ligação de dados do HtmlSelect controlo.
Exemplos
O exemplo de código seguinte demonstra como usar a DataMember propriedade para especificar um conjunto de dados a ligar ao HtmlSelect controlo a partir de uma DataSource propriedade com múltiplos conjuntos de dados.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!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>
<title> HtmlSelect Example </title>
<script runat="server">
void Page_Load (Object sender, EventArgs e)
{
// Bind the HtmlSelect control to a data source when the page is initially loaded.
if (!IsPostBack)
{
// Create a data set to store the tables.
DataSet ds = new DataSet("TitleDataSet");
DataRow dr;
// Create the authors table with a single column.
DataTable authors = new DataTable("Authors");
authors.Columns.Add(new DataColumn("LName", typeof(string)));
// Add the authors table to the data set.
ds.Tables.Add(authors);
// Create sample data in the authors table.
for (int i = 0; i < 9; i++)
{
// Create a new row for the authors table.
dr = authors.NewRow();
// Add data to the LName column (column 0 in the row).
dr[0] = "Author " + i.ToString();
// Insert the row into the authors table.
authors.Rows.Add(dr);
}
// Create the titles table with a single column.
DataTable titles = new DataTable("Titles");
titles.Columns.Add(new DataColumn("BookTitle", typeof(string)));
// Add the titles table to the data set.
ds.Tables.Add(titles);
// Create sample data in the titles table.
for (int i = 0; i < 9; i++)
{
// Create a new row for the titles table.
dr = titles.NewRow();
// Add data to the BookTitle column (column 0 in the row).
dr[0] = "Title " + i.ToString();
// Insert the row into the titles table.
titles.Rows.Add(dr);
}
// Bind the HtmlSelect control to the data source.
Select1.DataSource = ds;
Select1.DataMember = "Titles";
Select1.DataTextField = "BookTitle";
Select1.DataBind();
}
}
void Button_Click (Object sender, EventArgs e)
{
// Display the selected items.
Label1.Text = "You selected:";
for (int i=0; i<=Select1.Items.Count - 1; i++)
{
if (Select1.Items[i].Selected)
Label1.Text += "<br /> - " + Select1.Items[i].Text;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Example </h3>
Select items from the list. <br />
Use the Control or Shift key to select multiple items. <br /><br />
<select id="Select1"
multiple="true"
runat="server"/>
<br /><br />
<button id="Button1"
onserverclick="Button_Click"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
</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>
<title> HtmlSelect Example </title>
<script runat="server">
Sub Page_Load (sender As Object, e As EventArgs)
' Bind the HtmlSelect control to a data source when the page is initially loaded.
If Not IsPostBack Then
Dim i As Integer
' Create a data set to store the tables.
Dim ds As DataSet = New DataSet("TitleDataSet")
Dim dr As DataRow
' Create the authors table with a single column.
Dim authors As DataTable = New DataTable("Authors")
authors.Columns.Add(New DataColumn("LName", GetType(String)))
' Add the authors table to the data set.
ds.Tables.Add(authors)
' Create sample data in the authors table.
For i = 0 To 9
' Create a new row for the authors table.
dr = authors.NewRow()
' Add data to the LName column (column 0 in the row).
dr(0) = "Author " & i.ToString()
' Insert the row into the authors table.
authors.Rows.Add(dr)
Next i
' Create the titles table with a single column.
Dim titles As DataTable = New DataTable("Titles")
titles.Columns.Add(New DataColumn("BookTitle", GetType(String)))
' Add the titles table to the data set.
ds.Tables.Add(titles)
' Create sample data in the titles table.
For i = 0 To 9
' Create a new row for the titles table.
dr = titles.NewRow()
' Add data to the BookTitle column (column 0 in the row).
dr(0) = "Title " & i.ToString()
' Insert the row into the titles table.
titles.Rows.Add(dr)
Next i
' Bind the HtmlSelect control to the data source.
Select1.DataSource = ds
Select1.DataMember = "Titles"
Select1.DataTextField = "BookTitle"
Select1.DataBind()
End If
End Sub
Sub Button_Click (sender As Object, e As EventArgs)
Dim i As Integer
' Display the selected items.
Label1.Text = "You selected:"
For i=0 To Select1.Items.Count - 1
If Select1.Items(i).Selected Then
Label1.Text = Label1.Text & "<br /> - " & Select1.Items(i).Text
End If
Next i
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Example </h3>
Select items from the list. <br />
Use the Control or Shift key to select multiple items. <br /><br />
<select id="Select1"
multiple="true"
runat="server"/>
<br /><br />
<button id="Button1"
onserverclick="Button_Click"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
</form>
</body>
</html>
Observações
Se a DataSource propriedade contiver múltiplos conjuntos de dados, use a DataMember propriedade para especificar qual conjunto de dados deve associar ao controlo. Por exemplo, se tiver um System.Data.DataSet objeto com várias tabelas, use esta propriedade para indicar qual tabela deve associar ao controlo.
Depois de especificar a fonte de dados a ligar ao controlo, pode então especificar quais os campos da fonte de dados a associar às ListItem.Text propriedades e ListItem.Value de cada item no controlo, definindo as DataTextField propriedades e DataValueField respetivamente.