Как изменить пейджер в Radgrid - PullRequest
1 голос
/ 21 декабря 2011

У меня есть GridView, который был изменен на RadGrid, теперь до того, как GridView использовал подкачку с использованием раскрывающегося списка над ней со следующими параметрами для отображения элементов на странице

 <asp:DropDownList ID="lstPage" runat="server" AutoPostBack="true" OnSelectedIndexChanged="lstPage_OnSelectedIndexChanged">
            <asp:ListItem Value="5">5</asp:ListItem>
            <asp:ListItem Value="15" Selected="True">15</asp:ListItem>
            <asp:ListItem Value="20">20</asp:ListItem>
            <asp:ListItem Value="50">50</asp:ListItem>
        </asp:DropDownList>
    </div>

Но теперь с RadGridЯ не уверен, как это сделать?и я не могу найти конкретный пример на их сайте.Есть ли способ сказать сетке Rad использовать эти пользовательские значения?10,35,60,100> Мне нужно показать те же параметры в подкачке.

Спасибо

1 Ответ

2 голосов
/ 05 января 2012

Метод 1:

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)   
{   
  if (e.Item is GridPagerItem)   
  {   
    RadComboBox PageSizeCombo = (RadComboBox)e.Item.FindControl("PageSizeComboBox");   

    PageSizeCombo.Items.Clear();   
    PageSizeCombo.Items.Add(new RadComboBoxItem("15"));   
    PageSizeCombo.FindItemByText("15").Attributes.Add("ownerTableViewId", RadGrid1.MasterTableView.ClientID);   
    PageSizeCombo.Items.Add(new RadComboBoxItem("50"));   
    PageSizeCombo.FindItemByText("50").Attributes.Add("ownerTableViewId", RadGrid1.MasterTableView.ClientID);   
    PageSizeCombo.Items.Add(new RadComboBoxItem("150"));   
    PageSizeCombo.FindItemByText("150").Attributes.Add("ownerTableViewId",   RadGrid1.MasterTableView.ClientID);   
    PageSizeCombo.Items.Add(new RadComboBoxItem("250"));   
    PageSizeCombo.FindItemByText("250").Attributes.Add("ownerTableViewId", RadGrid1.MasterTableView.ClientID);   
    PageSizeCombo.FindItemByText(e.Item.OwnerTableView.PageSize.ToString()).Selected = true; 
  }
}

Метод 2:

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
  if (e.Item is  GridPagerItem)
    {
        GridPagerItem pager = (GridPagerItem)e.Item;
        RadComboBox PageSizeComboBox = (RadComboBox)pager.FindControl("PageSizeComboBox");
        RadComboBoxItem ComboItem = new RadComboBoxItem("All");
        PageSizeComboBox.Items.Insert(0, ComboItem);
        PageSizeComboBox.AutoPostBack = true;
        PageSizeComboBox.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(PageSizeComboBox_SelectedIndexChanged);
    }
  }

  void PageSizeComboBox_SelectedIndexChanged(object sender,    RadComboBoxSelectedIndexChangedEventArgs e)
  {
    //Handle the event
  }
}
...