道家的书籍:asp.net 2.0 的GridView的问题??急急急!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 03:01:17
如何动态的设置数据源,并且可以分页和排序啊

分页和排序可以用datagrid控件实现.dataview那是建立一个视图.有时用它可以很简单的代替sql语句.使用更为方便.下面是一个dataview和datagrid分页排序的实例.动态设置的数据源.是用的access数据库.名字是price.mdb.可以自己建一个数据库.内容随便.
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.oledb" %>
<script language=vb runat=server>
sub bindlist()
dim conn as string = "provider=microsoft.jet.oledb.4.0;data source = " & server.mappath("Price.mdb")
dim sql as string = "Select * From 零部件报价表"
dim da as new oledbdataadapter(sql,conn)
dim ds as new dataset()
da.fill(ds,"chwu")
dim dv as new dataview(ds.tables("chwu"))
dv.sort = sortfield.value
mydatagrid.datasource = dv
mydatagrid.databind()
end sub

sub pages(sender as object ,e as datagridpagechangedeventargs)
mydatagrid.currentpageindex = e.newpageindex
bindlist()
end sub

sub aa(sender as object ,e as datagridsortcommandeventargs)
if instr(sortfield.value," desc " ) = 0 then
sortfield.value = e.sortexpression & " desc "
else
sortfield.value = e.sortexpression & " asc "
end if
bindlist()
end sub

sub page_load(sender as object , e as eventargs)
if a1.checked = true then
mydatagrid.pagerstyle.mode = pagermode.nextprev
mydatagrid.pagerstyle.prevpagetext = "上一页"
mydatagrid.pagerstyle.nextpagetext = "下一页"
else
mydatagrid.pagerstyle.mode = pagermode.numericpages
end if
bindlist()
end sub

</script>
<html>
<body>
<form runat=server>
<asp:datagrid runat=server id=mydatagrid allowpaging=true pagesize=5 autogeneratecolunms=true allowsorting=true
onpageindexchanged="pages" onsortcommand="aa" >
<headerstyle backcolor=#ffffcc forecolor=black font-size=small font-bold=true horizontalalign=center />
<itemstyle font-size=x-small forecolor=black />
<pagerstyle horizontalalign=center font-size=x-small />

</asp:datagrid>
请选择分页模式
<asp:radiobutton runat=server id=a1 groupname=abc text=上下页模式 autopostback=true checked=true />
<asp:radiobutton runat=server id=a2 groupname=abc text=数字模式 autopostback=true checked=false />
<input type=hidden runat=server id=sortfield value="编号">
</form>
</body>
</html>