Как преобразовать GridView в DataTable и отсортировать DataTable? - PullRequest
2 голосов
/ 10 мая 2011

Я хочу преобразовать мой GridView в DataTable. Примечание: GridView не имеет источника данных! Я хочу отсортировать DataTable и вернуть его в GridView, это возможно? Важно то, что мой GridView должен быть отсортирован.

Заранее спасибо.

1 Ответ

3 голосов
/ 10 мая 2011

Поместите DataTable в ViewState при первом связывании.

gridView1.DataBind();
ViewState["dtbl"] = YourDataTable

а потом делай как ...

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);

        ComponentGridView.DataSource = dataView;
        ComponentGridView.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;
}

Также взгляните на эту статью MSDN http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sorting.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...