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 に答える