Страница ASPX: -Gridview Control, как показано ниже
<asp:GridView ID="gidtest" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" Width="100%"
AllowPaging="True" AllowSorting="True"
OnPageIndexChanging="gidtest_PageIndexChanging" OnSorting="gidtest_Sorting">
<Columns>
<asp:BoundField DataField="MinistryName" HeaderText="Name" SortExpression="MinistryName"
ItemStyle-Width="40%" >
<ItemStyle Width="40%"></ItemStyle>
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
<PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
<PagerSettings FirstPageText="first" LastPageText="last" Mode="NumericFirstLast" PageButtonCount="2"/>
<RowStyle BackColor="White" ForeColor="#330099" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
<SortedAscendingCellStyle BackColor="#FEFCEB" />
<SortedAscendingHeaderStyle BackColor="#AF0101" />
<SortedDescendingCellStyle BackColor="#F6F0C0" />
<SortedDescendingHeaderStyle BackColor="#7E0000" />
</asp:GridView>
Код позади: -На загрузке страницы, передающей список в Gridview.-На событии подкачки связывает список.
-На событии сортировки пытается получить источник данных, но возвращается NULL
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.gridProjects.DataSource = GetList(); //A IList collection of BOL, which has MinistryName proeprty.
this.gridProjects.DataBind();
}
////Log before exiting from the Function.
WebRole.Logger.Write(Page.Title.ToString() + Resources.ExitPageLoad);
}
GetList()
{
return new List<CustomClass>();
}
public Class CustomClass
{
public string MinistryName {get;set;}
}
protected void gidtest_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
if (e != null)
{
this.GetUserProjects();
this.gridProjects.PageIndex = e.NewPageIndex;
this.gridProjects.DataBind();
}
}
protected void gridProjects_Sorting(object sender, GridViewSortEventArgs e)
{
try
{
DataTable dt =((DataSet)(gridProjects.DataSource)).Tables[0];
dt.DefaultView.Sort = e.SortExpression +"" + e.SortDirection;
gridProjects.DataSource = dt;
}
catch (Exception ex)
{
throw ex;
}
}
Любая помощь?