|
asp.net的数据绑定技术-2
4.5 DataBind的高级应用定义栏目
DataBind提供下列可以自己定义的栏目
Bound 用来控制数据命令和读出
HyperLink 让数据以超链的形式显示
Button 建立动态的数据按钮
Template 样本模板方式输出数据
下面我们各举例子:
Bound 控制显示表格的表头 (基本命令) 命令全部都加在<ASP:DataGrid> </ASP:DataGrid>之间(还是使用上面韦小宝的例子)
<property name="Columns"> <asp:BoundColumn HeaderText="老婆的编号" DataField="编号" /> <asp:BoundColumn HeaderText="老婆的名字" DataField="名字"/> <asp:BoundColumn HeaderText="是否" DataField="是否"/> </property>

你是否看到你的表单重复显示了两次? 这是因为你在<ASP:DataGrid>标签中没有AutoGenerateColumns="false"命令,默认的AutoGenerateColumns是为True的,也就是说它会自己产生表头,有的时候,这个是我们不需要的。
HyperLink 我们输出数据的时候,想对每个女子的名字下面加上超链,连接到介绍这个女子的页面,我们可以用HyperLink来做。
<property name="Columns"> <asp:BoundColumn HeaderText="编号" DataField="编号" /> <asp:HyperLinkColumn HeaderText="名字" DataNavigateUrlField="名字" DataNavigateUrlFormatString="detailspage.aspx?id={0}" DataTextField="名字" Target="_new" /> <asp:BoundColumn HeaderText="是否" DataField="是否"/> </property> |
Button 这个是一个很有趣的例子
用<asp:ButtonColumn HeaderText="加入我中意的女子列表" Text="Add" CommandName="AddToCart" />
代替<asp:BoundColumn HeaderText="老婆的编号" DataField="编号" />
我们可以触发 AddToCart事件,来控制其他事件的运行。
Template 建立一个样板
<property name="Columns"> <asp:TemplateColumn HeaderText="详细资料"> <template name="ItemTemplate"> <asp:hyperlink id=HyperLink1 NavigateUrl = "detailspage.aspx?id={0}" runat="server"> 点这里查看详细资料 </asp:hyperlink> </template> </asp:TemplateColumn> <asp:BoundColumn HeaderText="老婆的名字" DataField="名字"/> <asp:BoundColumn HeaderText="是否" DataField="是否"/> </property> |
4.6 如何在DataBind生成的表中排序
在ASP:DataGrid标签中加入下面两条AllowSorting="true"
然后插入如下的子程序
Sub MyDataGrid_Sort(sender As Object, e As DataGridSortCommandEventArgs) SortField = e.SortField DataGrid1.DataBind End Sub | OK <asp:DataGrid>下面不需要<property>就可以出现排序的选项。
注:引用自http://www.dg.gd.cn/bbs/bv_pub.asp?BSID=132196DB0D08&BAID=13219BBB6106AE5286NA6NLH&sf=PA0Q
2006-9-5 10:00:07
Posted by jser | 阅读全文() | 回复(2) | 引用通告() | 编辑
|