允许用户选择 DataList Web 服务器控件中的项

Posted on 2005-08-19 05:44  e动力  阅读(375)  评论(0)    收藏  举报
Visual Basic 和 Visual C# 概念  

允许用户选择 DataList Web 服务器控件中的项

可以指定用户可选择 DataList Web 服务器控件中的单个项。通常选定某项后会看到它突出显示。另外,可以为选定项显示不同信息。

允许用户选择 DataList 控件中的项

  1. 设置控件的 SelectedItemStyle 属性。有关详细信息,请参见使用样式自定义 ASP.NET 服务器控件的外观
  2. 可以选择创建 SelectedItemTemplate 以便为选定项显示不同文本和控件。有关详细信息,请参见创建 Web 服务器控件模板
  3. ItemTemplate 中(和 AlternatingItemTemplate 中,如果要使用它的话),添加一个 ButtonLinkButton Web 服务器控件。
  4. 将来自步骤 3 的按钮的 CommandName 属性设置为 select(区分大小写)。
  5. 如果已经创建了单独的 SelectedItemTemplate,则需要对选定内容重新绑定列表。为控件的 SelectedIndexChanged 事件创建一个事件处理程序。有关详细信息,请参见在 Web 窗体页中创建事件处理程序。在该事件处理程序中,调用控件的 DataBind 方法刷新该控件中的信息。完整的代码类似如下所示:
    ' Visual Basic
    Private Sub DataList1_SelectedIndexChanged( _
    ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles DataList1.SelectedIndexChanged
       DataList1.DataBind()
    End Sub
    
    // C#
    private void DataList1_SelectedIndexChanged (object sender, System.EventArgs e)
    {
       DataList1.DataBind();
    }
  6. 若要取消选择,请将控件的 SelectedIndex 属性设置为 -1。若要实现此目的,可将 Button Web 服务器控件添加到 SelectedItem 模板,并将其 CommandName 属性设置为 unselect。此按钮的 Click 事件也被积极发送到 DataGrid 控件的 ItemCommand 事件。完整的代码类似如下所示:
    ' Visual Basic
    Private Sub DataList1_ItemCommand(ByVal source As Object, _
    ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) _
    Handles DataList1.ItemCommand
       If e.CommandName = "unselect" Then
          DataList1.SelectedIndex = -1
       End If
       DataList1.DataBind()
    End Sub
    
    // C#
    private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
       if (e.CommandName == "unselect")
       {
          DataList1.SelectedIndex = -1;
       }
       DataList1.DataBind();
    }

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3