Gridview是用于显示和操作来自各种数据源的数据的控件。
我有一个 Gridview ,其行数超出了屏幕上无需滚动即可显示的行数。 我将其添加到页面指令中: 维护ScrollPositionOnPostback =“true” 当我点击 e...
我有一个带有 ObjectDataSource 的 Gridview : 我有一个带有 ObjectDataSource 的 Gridview : <asp:GridView ID="gvCompany" runat="server" SkinID="BasicGridView" DataSourceID="odsCompany" DataKeyNames="ID" OnRowCommand="gvCompany_RowCommand" OnRowDataBound="gvCompany_RowDataBound"> <Columns> <asp:TemplateField HeaderText="<%$ Resources:Titles, Select %>"> <ItemTemplate> <asp:CheckBox ID="chbSelect" TabIndex="5" runat="server" CssClass="contrast-checkbox" /> </ItemTemplate> <ItemStyle Width="50px" HorizontalAlign="Center" CssClass="center" /> <HeaderStyle CssClass="center" /> </asp:TemplateField> <asp:BoundField HeaderText="<%$ Resources:Titles,Code %>" DataField="Code" SortExpression="Code"> <ItemStyle Width="10%" /> </asp:BoundField> <asp:BoundField HeaderText="<%$ Resources:Titles,Name %>" DataField="Name" SortExpression="Name"> <ItemStyle Width="70%" /> </asp:BoundField> <asp:TemplateField HeaderText="<%$ Resources:Titles, Edit %>"> <ItemTemplate> <asp:LinkButton ID="lbtnEdit" TabIndex="7" runat="server" CommandName="EditCompany" CommandArgument='<%# ((GridViewRow)Container).RowIndex %>' CssClass="btn btn-contrast btn-xs edit-grid"> <i class="icon icon-edit"></i> </asp:LinkButton> </ItemTemplate> <ItemStyle Width="20px" HorizontalAlign="Center" CssClass="center" /> <HeaderStyle CssClass="center" /> </asp:TemplateField> <asp:TemplateField HeaderText="<%$ Resources:Titles, Delete %>"> <ItemTemplate> <a id="IbtnDelete" tabindex="8" class="btn btn-danger btn-xs edit-grid" onclick="return SetItemForDelete(this);"><i class="icon icon-trash-o"></i></a> </ItemTemplate> <ItemStyle Width="20px" HorizontalAlign="Center" CssClass="center" /> <HeaderStyle CssClass="center" /> </asp:TemplateField> </Columns> <EmptyDataTemplate> <%= Resources.Messages.NoCompanyIsForView%> </EmptyDataTemplate> </asp:GridView> <asp:ObjectDataSource ID="odsCompany" runat="server" EnablePaging="true" TypeName="DMS.Data.CompanyProvider" SelectMethod="Search" SortParameterName="orderby" SelectCountMethod="GetSearchCount" /> 当我转到 GridView 中的页面并删除该页面的所有行时,出现问题,在这种情况下,我绑定 Gridview 但显示 EmptyDataTemplate,而不是转到具有某些行的另一行.. 如何解决这个问题? 您将需要更改网格的 PageIndex 属性,因为它在重新绑定时不会自动更改。您可以在此处找到有关 PageIndex 属性的更多信息:http://msdn.microsoft.com/de-de/library/system.web.ui.webcontrols.gridview.pageindex(v=vs.110).aspx 在重新绑定之前,在您的方法/事件中重置页面索引,如下所示: if (gridView.PageIndex >= 1) gridView.PageIndex--; 如果您的页面索引为 0,那么您想显示 EmptyDataTable。 更新答案: 检查 Gridview 的 Rows.Count ,仅当当前页面索引中存在一行时才更改页面索引: if (gridView.PageIndex >= 1 && gridView.Rows.Count==1) gridView.PageIndex--;
我正在尝试允许我的网格视图分页。我在我的网格视图中允许分页,并且还添加了页面大小。不幸的是,它不起作用。我研究过,发现人们不需要添加任何 c...
在更新面板中通过gridView分页时出现潜在危险的Request.Form错误
如果这是重复的问题,请原谅。我搜索并发现了很多关于此错误的帖子,但似乎没有一个对我有帮助(可能是由于我的无知)。 我得到了价值...
我的数据库表中有 7 条记录,称为 EntryTable。我将页数限制设置为每页 5 条记录。因此第 1 页将有 5 条记录,第 2 页将有 2 条记录。但当我点击“搜索”后...
我有一个使用asp GridView 的网站。 当用户单击 gridview 底部的分页按钮时,页面会重新加载到底部。我需要将页面加载到顶部。 是...
我有一个网格视图。 我必须实现分页以及使页面可以水平和垂直滚动。页面导航栏位于底部。 当垂直滚动页面时...
当我们使用浏览器后退按钮从另一个页面返回时,ASP.NET Gridview 分页不会保留
我的 ASP.NET 应用程序上有一个 gridview,我设置了 AutoGenerateColumns = false 并以编程方式填充它。这个gridview在updatepanel中排序和分页工作正常。我没有问题...
我有一个 GridView,它需要对来自 Customer 对象集合的数据进行分页和排序。 不幸的是我的客户信息是单独存储的...客户信息是存储的...
在 ASP.Net GridView 中,您是否遇到过这种情况? Web 表单有一个 GridView 和一个 DetailsView。用户寻呼到特定页面,例如第 3 页。寻呼机显示当前页面是第 3 页....
我的网格视图 我的网格视图 <div style="margin-left: 280px"> <asp:GridView ID="exportGrdVw" runat="server" BackColor="White" AllowPaging="True" PageSize="3" OnPageIndexChanging="exportGrdVw_PageIndexChanging" onpageindexchanged="exportGrdVw_PageIndexChanged"> </asp:GridView> </div> 我的代码 SqlConnection con = new SqlConnection("server=acer-Pc\\Sql;database=MYDB;trusted_connection=yes"); //DataSet ds = new DataSet(); DataTable table = new DataTable(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SqlDataAdapter da = new SqlDataAdapter("select customername,contactno,address from employee ", con); da.Fill(table); BindEmployee(); } } public void BindEmployee() { exportGrdVw.DataSource = table; exportGrdVw.DataBind(); } protected void exportGrdVw_PageIndexChanging(object sender, GridViewPageEventArgs e) { exportGrdVw.PageIndex = e.NewPageIndex; BindEmployee(); } 问题是 gridview 正在显示,但当我单击第 2 页时,第 2 页数据未显示(空白)。请帮我解决这个问题。 看看代码是否正确 像下面这样使用 SqlConnection con = new SqlConnection("server=acer-Pc\\Sql;database=MYDB;trusted_connection=yes"); //DataSet ds = new DataSet(); DataTable table = new DataTable(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindEmployee(); } } public void BindEmployee() { SqlDataAdapter da = new SqlDataAdapter("select customername,contactno,address from employee ", con); da.Fill(table); exportGrdVw.DataSource = table; exportGrdVw.DataBind(); } protected void exportGrdVw_PageIndexChanging(object sender, GridViewPageEventArgs e) { exportGrdVw.PageIndex = e.NewPageIndex; BindEmployee(); } 您的数据表在每个页面加载时都会初始化,因此您需要获取数据表 每次将其绑定到网格之前。 在将页面绑定到网格之前设置页面索引 所以你的代码应该是这样的 public void BindEmployee(int newPageIndex = -1) { SqlDataAdapter da = new SqlDataAdapter("select customername,contactno,address from employee ", con); da.Fill(table); exportGrdVw.PageIndex = newPageIndex; exportGrdVw.DataSource = table; exportGrdVw.DataBind(); } 无需在 exportGrdVw_PageIndexChanging 上调用数据库。只需将 DataTable 表声明为 static 你可以试试这个: GridView1.PageIndex = e.NewPageIndex; SqlCommand cmd = new SqlCommand("Select * from Emp_Data ORDER BY [ID] DESC", con); SqlDataAdapter DA1 = new SqlDataAdapter(cmd); DA1.Fill(DT1); GridView1.DataSource = DT1; GridView1.DataBind();
GridView OnPageIndexChanging 事件不会触发
我的 GridView 和后面的代码似乎一切都很好,但事件没有触发。 这是我的网格: 我的 GridView 和后面的代码似乎一切都很好,但事件没有触发。 这是我的网格: <asp:UpdatePanel ID="ISOSearchUpdatePanel" runat="server"> <ContentTemplate> <div id="divIsoSelect" style="width:700px; height:60px; background-color:white"> <fieldset> <legend style="font-size: larger; font-weight: bold">Search ISO by</legend> <table> <tr> <td><asp:DropDownList ID="ddlISOSearch" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlISOSearch_SelectedIndexChanged"> <asp:ListItem Value="">Select...</asp:ListItem> <asp:ListItem Value="ISO Number" >ISO Number</asp:ListItem> <asp:ListItem Value="Name">Name</asp:ListItem> <asp:ListItem Value="Region" >Region</asp:ListItem> <asp:ListItem Value="Division">Division</asp:ListItem> </asp:DropDownList></td> <td > </td> <td> <asp:Panel ID="pnlSearchEntry" runat="server" Visible="false" style="width:500px; border:gainsboro; border-width: thick;"> <table> <tr> <td valign="middle" style="width:120px"><asp:Label ID="lblEntry" runat="server" Text=""></asp:Label></td> <td valign="top"><asp:TextBox ID="txtSearchValue" runat="server"> </asp:TextBox></td> <td valign="top"> <asp:Button ID="btnFind" runat="server" Text="Select" OnClick="btnFind_Click"/></td> </tr> </table> </asp:Panel> </td> </tr> </table> </fieldset> </div> <asp:GridView ID="grvIsoSearchResults" runat="server" AutoGenerateColumns="false" PageSize="15" AllowPaging = "true" Visible="false" BorderColor="Red" GridLines="Both" OnRowCommand="grvIsoSearchResults_RowCommand" DataKeyNames="isonum" OnPageIndexChanged="grvIsoSearchResults_PageIndexChanged" OnPageIndexChanging="grvIsoSearchResults_PageIndexChanging" OnSorting="grvIsoSearchResults_Sorting" style="position:absolute; top: 120px;"> <PagerSettings firstpagetext="First" lastpagetext="Last" nextpagetext="Next" pagebuttoncount="100" /> <Columns> <asp:TemplateField HeaderText="ISONUM" SortExpression="isonum"> <ItemTemplate> <asp:Label ID="txtgvIsoNum" Text = '<%# Eval("ISONUM")%>' runat="server" Width="70px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="OFFICE NAME" SortExpression="isoofficename"> <ItemTemplate> <asp:Label ID="txtgvIsoOfficeName" Text = '<%# Eval("ISOOFFICENAME")%>' runat="server" Width="200px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="REGION" SortExpression="region"> <ItemTemplate> <asp:Label ID="txtgvRegion" Text = '<%# Eval("REGION")%>' runat="server" Width="50px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DIVISION" SortExpression="client_id"> <ItemTemplate> <asp:Label ID="txtgvDivision" Text = '<%# Eval("CLIENT_ID")%>' runat="server" Width="50px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="EMAIL ADDRESS"> <ItemTemplate> <asp:TextBox ID="txtgvEmailAddress" Text = '<%# Eval("EMAIL")%>' runat="server" Width="200px" /> <asp:Button ID="btnEmailUpdate" Text = "Update" runat="server" CommandName="UpdateEmail" onClientClick="return ValidateEmail(this)" /> </ItemTemplate> </asp:TemplateField> </Columns> <pagerstyle backcolor="#005482" ForeColor="White" height="30px" verticalalign="Bottom" horizontalalign="Center"/> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> 这是我的代码隐藏方法: private void SetViewState(DataSet myDataSet) { ViewState["Data"] = myDataSet; } private DataSet GetViewState() { return (DataSet)ViewState["Data"]; } private void LoadData(String selection, String userInput) { DataSet ds = new DataSet(); . . . ds = ISOProcessing.GetISOData(selection, userInput); grvIsoSearchResults.DataSource = ds; if (ds.Tables[0].Rows.Count > 0) { SetViewState(ds); grvIsoSearchResults.DataBind(); grvIsoSearchResults.Visible = true; } else { lblMsg.ForeColor = System.Drawing.Color.Red; this.lblMsg.Text = "No data for current selection"; } } protected void grvIsoSearchResults_PageIndexChanging(object sender, GridViewPageEventArgs e) { grvIsoSearchResults.PageIndex = e.NewPageIndex; grvIsoSearchResults.DataSource = GetViewState(); grvIsoSearchResults.DataBind(); } 一切似乎都已就位,但是当我在调试期间想要转到另一个页面时,在我的 grvIsoSearchResults_PageIndexChanging() 方法内部甚至没有命中断点。我不确定为什么会发生这种情况。 需要你的帮助。 谢谢你 尝试为其添加触发器: </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="grvIsoSearchResults" EventName="PageIndexChanging" /> </Triggers> </asp:UpdatePanel> Gridview 的 AutoPostback 属性未启用,请像这样将其设置为 true。 <asp:GridView ID="grvIsoSearchResults" AutoPostback="True" runat="server" AutoGenerateColumns="false" PageSize="15" AllowPaging = "true" Visible="false" BorderColor="Red" GridLines="Both" OnRowCommand="grvIsoSearchResults_RowCommand" DataKeyNames="isonum" OnPageIndexChanged="grvIsoSearchResults_PageIndexChanged" OnPageIndexChanging="grvIsoSearchResults_PageIndexChanging" OnSorting="grvIsoSearchResults_Sorting" style="position:absolute; top: 120px;"> <PagerSettings firstpagetext="First" lastpagetext="Last" nextpagetext="Next" pagebuttoncount="100" /> <Columns> <asp:TemplateField HeaderText="ISONUM" SortExpression="isonum"> <ItemTemplate> <asp:Label ID="txtgvIsoNum" Text = '<%# Eval("ISONUM")%>' runat="server" Width="70px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="OFFICE NAME" SortExpression="isoofficename"> <ItemTemplate> <asp:Label ID="txtgvIsoOfficeName" Text = '<%# Eval("ISOOFFICENAME")%>' runat="server" Width="200px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="REGION" SortExpression="region"> <ItemTemplate> <asp:Label ID="txtgvRegion" Text = '<%# Eval("REGION")%>' runat="server" Width="50px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DIVISION" SortExpression="client_id"> <ItemTemplate> <asp:Label ID="txtgvDivision" Text = '<%# Eval("CLIENT_ID")%>' runat="server" Width="50px" style="text-align:center" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="EMAIL ADDRESS"> <ItemTemplate> <asp:TextBox ID="txtgvEmailAddress" Text = '<%# Eval("EMAIL")%>' runat="server" Width="200px" /> <asp:Button ID="btnEmailUpdate" Text = "Update" runat="server" CommandName="UpdateEmail" onClientClick="return ValidateEmail(this)" /> </ItemTemplate> </asp:TemplateField> </Columns> <pagerstyle backcolor="#005482" ForeColor="White" height="30px" verticalalign="Bottom" horizontalalign="Center"/> </asp:GridView>
我想将默认(网格底部)asp:gridview 分页的位置更改为 gridview 的右侧。是否可以? 如果没有,请建议我是否可以在 gridview 之外保留两个按钮来更改...
你好朋友,我的分页工作正常,但是当对任何列进行排序时,它会在第一页上排序,但在下一页上排序会丢失。 请任何人都可以帮我解决这个问题。 我的标记代码...
我是 C# 和 .NET 的新手,但已经坚持了几天了,我正在使用 MVC 3 (.NET 4.0) Web 应用程序。 我浏览了教程,使用代码 b...
使用 DevxGrid 时处理大型数据库表的最佳解决方案是什么?
我想从asp.net网格转换为devxgrid控件,但我无法确定哪种方法是处理大表的最佳方法(我的意思是SQL中数据行超过1000000的表...
删除 rowDataBound 事件中的 Gridview 行 asp.net c#
我有一个 gridview,它检查 rowDataBound 事件上的一些值。我想根据 rowDataBound 中检查的条件删除一些行。我尝试将所有控件放入面板中并隐藏该面板...
嗨,我想在 GridView 之外有一个 DropDownList 来显示页码列表。 当用户单击页码时,GridView 应转到该页面。 我能够填充
我们设置了 ASP.Net GridView 并包含排序和分页。当用户单击 GridView 列标题链接对数据进行排序时,或者用户单击底部的数字链接时...
我为 gridview 设置了分页,现在当我单击分页器中的另一个页面时,出现一条错误消息,提示 Guid 应包含 32 位数字和 4 个破折号。当弹出友好的错误消息时,我单击...