Compartilhar via


Vinculação a um controle SelectionList ou lista de dados

The List e SelectionList Controles móveis do ASP.NET processam uma exibição básica dos dados e permitem que os usuários selecionem itens de dados.

Você pode BIND um List ou SelectionList controle móvel para um DataView ou um DataSet objeto, ou para qualquer objeto que implementa IEnumerable ou IListSource. Para BIND um List ou SelectionList controle móvel para um DataView o objeto, você conjunto o controle DataSource propriedade e chame seu DataBind método. O exemplo de código a seguir demonstra como BIND um controle a um DataSet objeto que contém uma tabela chamada Titles.

myList.DataSource = ds.Tables["Titles"].DefaultView;
myList.DataBind();

Como alternativa, você pode BIND um List ou SelectionList o controle para um DataSet objeto. Para fazer isso, você conjunto o DataMember propriedade para o nome da tabela. O exemplo a seguir é equivalente ao anterior.

myList.DataSource = ds;
myList.DataMember = "Titles";
myList.DataBind();

Um item de lista em um List ou SelectionList controle pode BIND dois dados valores. Um valor de dados é limite a lista do item Text propriedade e o Outros está limite ao seu Value propriedade. Você configurar vinculação para itens de lista, definindo o DataTextField (SelectionList.DataTextField) e DataValueField (SelectionList.DataValueField) propriedades das List ou SelectionList controle. The List controle exibe cada item usando o Text propriedade. Por exemplo, se você deseja exibir cada item por sua CustomerName propriedade, conjunto o DataTextField propriedade para CustomerName.

Convém exibir cada item sistema autônomo um composto de vários valores de dados de resumo.Para fazer isso, você pode manipular o ItemDataBind evento da List controle ou o ItemDataBind evento da SelectionList controlar e conjunto o Text propriedade programaticamente. O exemplo de código a seguir demonstra sistema autônomo processar informações de catálogo sistema autônomo uma combinação de título e o preço.

private void List_OnItemDataBind(object sender, 
    ListDataBindEventArgs e)
{
    e.ListItem.Text = String.Format ("{0} – {1}", 
        DataBinder.Eval (e.DataItem, "title"),
        DataBinder.Eval (e.DataItem, "price", "{0:C}"));
}

Em dispositivos que oferecem suporte ao renderização mais avançado, você pode usar um conjunto de modelos para o seu List controle para mostrar uma exibição personalizada de um item de dados. No modo de modelo, a List controlar funções, como o Repeater Controle de servidor ASP.NET. Por exemplo, você pode usar o seguinte modelo de item para mostrar uma exibição detalhada de um livro.

<ItemTemplate>
  <tr style="background-color:FFECD8">
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "title") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "title_id") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "type") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "pub_id") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "price", "{0}", "{0:C}") %>
    </td>
  </tr>
</ ItemTemplate >

Para obter mais informações sobre conjuntos de modelo, consulte Conjuntos de modelo e modelos de controles.

Consulte também

Conceitos

Acessar dados usando controles de lista

Diferenças entre SelectionList e classes lista