8.3 数据列表控件(DataList)

  DataList控件支持各种不同的模板的样式,通过为DataList指定不同的样式,可以自定义DataList控件的外观。与Repeater控件相同的是,DataList控件同样也支持自定义HTML,但是DataList控件具备Repeater控件不具有的特性,DataList控件常用属性如下所示。
1)AltermatingItemStyle:编写交替行的样式。
2)EditItemStyle:正在编辑的项的样式。
3)FooterStyle:列表结尾处的脚注的样式。
4)HeaderStyle:列表头部的标头的样式。
5)ItemStyle:单个项的样式。
6)SelectedItemStyle:选定项的样式。
7)SeparatorStyle:各项之间分隔符的样式。
  通过修改DataList控件的相应的属性,能够实现复杂的HTML样式而不需要通过变成实现。而DataList控件能够套用自定义格式实现更多的效果,如图8-31所示。
自动套用格式
图8-31 自动套用格式
  通过属性生成器,同样可以通过勾选相应的项目来生成属性,这些属性能够极大的方便开发人员制作DataList控件的界面样式,如图8-32所示。
属性生成器
图8-32 属性生成器
  DataList控件经常在开发中使用,DataList控件不仅能够支持Repeater控件中的ItemCommand、ItemCreated、ItemDataBound事件,还支持更多的服务器事件。对项中的按钮进行操作,如果按钮的CommandName属性为“edit”,则该按钮则可以引发EditorCommand事件,同样也可以配置不同的CommandName属性来实现不同的操作。编辑DataList控件,并编辑相应的HTML代码,让DataList控件包括按钮,并为按钮配置相应的CommandName属性,示例代码如下所示。
+展开
-HTML
    <asp:DataList ID="DataList1" runat="server" BackColor="White" 
    BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" 
    DataKeyField="ID" DataSourceID="SqlDataSource1" Font-Bold="False" 
    Font-Italic="False" Font-Overline="False" Font-Strikeout="False" 
    Font-Underline="False" GridLines="Horizontal" Width="100%" 
    ondeletecommand="DataList1_DeleteCommand">

        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
        <AlternatingItemStyle BackColor="#F7F7F7" />
        <ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
        <SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
    <ItemTemplate>
        新闻ID:
        <asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID"%>' />
        <br >
        新闻编号:
        <asp:Label ID="TITLELabel" runat="server" Text='<%# Eval("TITLE"%>' />
        <br >
        <asp:Button ID="Button1" runat="server" Text="删除" 
        CommandName="delete" CommandArgument='<%# Eval("ID"%>'/>

    </ItemTemplate>
</asp:DataList>

  上述代码创建了一个DataList控件并配置了按钮控件,并将按钮控件的CommandName属性配置为“delete”,则触发该按钮则会引发DeleteCommand事件。在属性窗口中找到DeleteCommand事件,双击【DeleteCommand】连接系统会自动生成DeleteCommand事件相应的方法。当生成了DeleteCommand事件后,可以在代码段中编写相应的方法,示例代码如下所示。
+展开
-C#
        protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
        {
            Label1.Text = e. CommandArgument.ToString()+"被执行";
        }

  当用户单击了相应的按钮时会触发DeleteCommand事件。开发人员能够通过传递过来的参数,可以编写相应的方法,运行结果如图8-33所示。
触发DeleteCommand事件
图8-33 触发DeleteCommand事件
  程序运行后,当用户单击了相应的按钮时,开发人员可以通过获取传递的CommandArgument参数的值来编写相应的方法从而执行实现不同的应用。

加支付宝好友偷能量挖...


评论(0)网络
阅读(136)喜欢(0)Asp.Net/C#/WCF