|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。asp.net|分页|初级|排序|数据 GridView控件中的"选择"操纵地道是一个UI观点,它的SelectedIndex属性与表格的可视数据行中确当前被选中的行的索引绝对应。假如你启用了表格的分页和排序功效,在实行分页或排序操纵以后,SelectedIndex的值仍旧不会变更,因而在实行这些操纵以后,一个新数据行被选中了。在某些情况下,保存对指定命据行的选中更好,即便该行在表格确当前页面中其实不可视。上面的例子演示了怎样在排序和分页操纵以后仍旧保存以后选中的数据行。
SubGridView1_DataBound(ByValsenderAsObject,ByValeAsSystem.EventArgs)
DimRowAsGridViewRow
DimSelectedValueAsString=ViewState("SelectedValue")
IfSelectedValueIsNothingThen
Return
EndIf
检测选择的行是哪一个偏重新选中它
ForEachRowInGridView1.Rows
DimKeyValueAsString=GridView1.DataKeys(Row.RowIndex).Value
If(KeyValue=SelectedValue)Then
GridView1.SelectedIndex=Row.RowIndex
EndIf
Next
EndSub
ProtectedSubGridView1_SelectedIndexChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)
保留选中行的索引
If(NotGridView1.SelectedIndex=-1)Then
ViewState("SelectedValue")=GridView1.SelectedValue
EndIf
EndSub
ProtectedSubGridView1_PageIndexChanging(ByValsenderAsObject,ByValeAsSystem.Web.UI.WebControls.GridViewPageEventArgs)
重置选中索引
GridView1.SelectedIndex=-1
EndSub
SubGridView1_Sorting(ByValsenderAsObject,ByValeAsSystem.Web.UI.WebControls.GridViewSortEventArgs)
重置选择索引
GridView1.SelectedIndex=-1
EndSub
GridView和DetailsView还撑持一种用于分页和排序的特别形式,它使用客户端向服务器的回调(callback)操纵来猎取新页面的数据或比来排序过的数据。要激活这个特征,必需把EnableSortingAndPagingCallbacks属性设置为真。请注重,当我们实行分页或排序操纵的时分,页面不必要发还(postback)以检索新值(只管实行了客户端剧本向服务器的回调操纵)。当GridView或DetailsView包括模板字段的时分是不撑持这个特征的。当这个特征被激活的时分,不撑持在CommandField(命令字段)中显现"选择"按钮。
<asp:GridViewAllowPaging="True"AllowSorting="True"AutoGenerateColumns="False"DataKeyNames="au_id"DataSourceID="SqlDataSource1"EnableSortingAndPagingCallbacks="True"ID="GridView1"runat="server">
……
</asp:GridView>
只管GridView、DetailsView和FormView为分页器(pager)UI供应了默许的显现体例,你仍旧能够经由过程设置PagerTemplate属性来自界说分页器的显现。在这个模板中,你能够安排按钮控件,并把它的CommandName属性设置为Page,把它的属性设置为First、Prev、Next、Last或<number>,个中<number>是特定页面的索引值。上面的例子演示了GridView和DetailsView控件界说的PagerTemplate。
<PagerTemplate>
<asp:LinkButtonCommandName="Page"CommandArgument="First"ID="LinkButton1"runat="server"Style="color:white"><<First</asp:LinkButton>
<asp:LinkButtonCommandName="Page"CommandArgument="Prev"ID="LinkButton2"runat="server"Style="color:white"><Prev</asp:LinkButton>
[Records<%=GridView1.PageIndex*GridView1.PageSize%>-<%=GridView1.PageIndex*GridView1.PageSize+GridView1.PageSize-1%>]
<asp:LinkButtonCommandName="Page"CommandArgument="Next"ID="LinkButton3"runat="server"Style="color:white">Next></asp:LinkButton>
<asp:LinkButtonCommandName="Page"CommandArgument="Last"ID="LinkButton4"runat="server"Style="color:white">Last>></asp:LinkButton>
</PagerTemplate>前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 |
|