0

我试图在网格视图的底部获取数字选择和下拉列表(页面大小)。我可以使用寻呼机设置或使用寻呼机模板显示的下拉列表来显示数字选择,而不是两者。他们不合作..

我在这里找到了另一个有这个问题的人,但没有人提供有效的答案。

下面这个可怕的例子是我能提供的最好的例子(不能发布图片)

,,,,,,网格视图,,,,。

1 2 3 4 5 ,,,,,,,,,, 页面大小 |10|

编辑忘记添加代码

<PagerTemplate>
<div style="float:right;">
<span style="font-size: 13px; padding-left: 20px;">Records per page </span>
 <asp:DropDownList ID="ddlAmountDisplayed" runat="server" 
                        AutoPostBack="true">
 <asp:ListItem Selected="True" Value="25" Text="25"></asp:ListItem>
 <asp:ListItem Value="50" Text="50"></asp:ListItem>
 <asp:ListItem Value="75" Text="75"></asp:ListItem>
  <asp:ListItem Value="100" Text="100"></asp:ListItem>
 </asp:DropDownList>
  </div>
 </PagerTemplate>
 <PagerSettings Mode="NumericFirstLast"   Position="Bottom" />
4

1 回答 1

1

正如我之前所说,我在发布问题后不久就找到了这个网站,希望这对其他人有帮助

 protected void AmountDisplayed_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddlPageSize = sender as DropDownList;
        if (ddlPageSize != null)
            this.gvCodes.PageSize = int.Parse(ddlPageSize.SelectedValue);

         if (ddlCodes.SelectedValue != "All" | ddlRegistered.SelectedValue != "All")
        {
            btnCodeSearch_Clicked(null, EventArgs.Empty);
        }
        else
        {
            BindCodes();
        }
        ddlPageSize.SelectedValue = this.gvCodes.PageSize.ToString();
    }

    protected void gvCodes_RowCreated(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.Pager)
        {
            DropDownList ddlPageSize = new DropDownList();
            ddlPageSize.AutoPostBack = true;

            ddlPageSize.SelectedIndexChanged += new EventHandler(AmountDisplayed_SelectedIndexChanged);
            ddlPageSize.Items.Clear();
            int[] pageSizeOptions = new int[] { 25, 50, 75, 100 };

            for (int i = 0; i < pageSizeOptions.Length; i++)
            {
                ddlPageSize.Items.Add(pageSizeOptions[i].ToString());
            }

            Table pagerTable = e.Row.Cells[0].Controls[0] as Table;
            TableCell cell = new TableCell();
            cell.Controls.Add(new System.Web.UI.LiteralControl("Records per page:"));
            cell.Controls.Add(ddlPageSize);
            pagerTable.Rows[0].Cells.Add(cell);

            ddlPageSize.SelectedValue = this.gvCodes.PageSize.ToString();
        }
    }
于 2013-10-02T08:16:36.923 回答