데이터베이스에서 데이터를로드하는 gridview가 있습니다. 데이터는 처음으로 datetime으로 정렬 된 gridview에 표시됩니다. 그 gridview의 한 칼럼에서 정렬을 허용하고 싶습니다. 예를 들어 main_post 컬럼에서. 나는 이것을 시도했지만 그리드 뷰는 컬럼의 헤더를 클릭 할 때 여전히 정렬하지 않았다.asp.net에서 gridview 열 정렬
<asp:DataGrid ID="Datagrid1" runat="server"
AllowPaging="True"
AllowSorting="True"
OnSorting="ComponentGridView_Sorting">
<Columns>
<asp:BoundColumn DataField="main_post" HeaderText="Header Post ID"
SortExpression="ComponentGridView_Sorting" />
</Columns>
</asp:DataGrid>
내 백엔드 코드 : :
protected void loadData()
{
DataTable dtTemp;
dtTemp = objDBInterface.getResults(strSQL);
Datagrid1.DataSource = dtTemp;
Datagrid1.DataBind();
ViewState["dtbl"] = dtTemp;
}
protected void ComponentGridView_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dataTable = ViewState["dtbl"] as DataTable;
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + " " + ConvertSortDirection(e.SortDirection);
Datagrid1.DataSource = dataView;
Datagrid1.DataBind();
}
}
private string ConvertSortDirection(SortDirection sortDirection)
{
string newSortDirection = String.Empty;
switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = "ASC";
break;
case SortDirection.Descending:
newSortDirection = "DESC";
break;
}
return newSortDirection;
}
나는 오류를 가지고 있겠지 나는 내 실수가 어디 있는지 잘 모릅니다 수 누군가
이
은 gridview에 내 프런트 엔드 코드 이 문제를 해결하도록 도와주세요.미리 감사드립니다.
를 들어 당신은 당신의 대답에 대한 몇 가지 설명을 제공 할 수 있습니다. – guisantogui