web developer tips (5):绑定ListView控件
原文地址:How to Databind a ListView control
ListView 是Visual Studio 2008中一个新的控件,使用此控件可以很轻松的进行数据的插入、编辑、删除和排序,也可以在使用这个控件时通过用户定义模板来灵活地显示各种格式的数据。
下面的如何将ListView 绑定到一个SQLDataSource(sql数据源) 步骤:
http://www.watch-life.net/visual-studio/how-to-databind-a-listview-control.html
1、从工具箱的数据标签里添加一个Listview控件, Visual Studio将会生成如下图所示的代码
2、为这个控件绑定一个SQLDataSource,在这里,我们复制一个NorthWind.mdf 数据库到网站项目的 App_Data文件夹。
3、配置这个SQLDataSource使用“类别”表,将产生如下一段代码:
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1"> </asp:ListView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Categories]"> </asp:SqlDataSource>
4、打开LIstview控件的智能标记,选择“配置ListView”打开“配置ListView”对话框
5、在这个配置对话框里,你可以选择布局和预定义的样式,比如选择“grid”和“ Professional”,如果你想分页的话,你可以选中“启动分页”选项。
6、在源码视图会产生如下代码:
<LayoutTemplate> <table id="Table1" runat="server"> <tr id="Tr1" runat="server"> <td id="Td1" runat="server"> <table ID="itemPlaceholderContainer" runat="server" border="1" style="background-color: #FFFFFF;border-collapse: collapse;"> <tr id="Tr2" runat="server" style="background-color:#DCDCDC;color: #000000;"> <th id="Th1" runat="server"> CategoryID</th> <th id="Th2" runat="server"> CategoryName</th> <th id="Th3" runat="server"> Description</th> <th id="Th4" runat="server"> Picture</th> </tr> <tr ID="itemPlaceholder" runat="server"> </tr> </table> </td> </tr> <tr id="Tr3" runat="server"> <td id="Td2" runat="server" style="text-align: center;background-color: #CCCCCC;font-family: Verdana, Helvetica,#000000;"> <asp:DataPager ID="DataPager1" runat="server"> <Fields> <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowNextPageButton="False" ShowPreviousPageButton="False" /> <asp:NumericPagerField /> <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="False" ShowPreviousPageButton="False" /> </Fields> </asp:DataPager> </td> </tr> </table> </LayoutTemplate>
<ItemTemplate> <tr style="background-color:#DCDCDC;color: #000000;"> <td> <asp:Label ID="CategoryIDLabel" runat="server" Text='<%# Eval("CategoryID") %>' /> </td> <td> <asp:Label ID="CategoryNameLabel" runat="server" Text='<%# Eval("CategoryName") %>' /> </td> <td> <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' /> </td> <td> <asp:Label ID="PictureLabel" runat="server" Text='<%# Eval("Picture") %>' /> </td> </tr> </ItemTemplate>
6、运行这个页面,将会显示一个带分页的的(数据展示)页面。
这里只是介绍的一个非常简单的listview绑定的例子。
ListView 控件是net Framework3.5里的控件,如果在你的项目是基于net Framework2.0或3.0 ,在工具箱是无法看见这个控件。这个控件和Gridview控件是在Asp.net中最常用的数据控件。在显示不是很复杂的数据方面很有优势,甚至比Gridview更灵活适用,它不像Gridview那样不是行字段来显示数据,而是使用用户定义的模板。
个人觉得应该要很好的利用ListView,而现在Asp.net的开发对GridView有滥用的倾向。
更多文章见:守望轩[http://www.watch-life.net/]