如何从DataBound gridview获取排序数据?

时间:2009-07-15 20:42:27

标签: c# gridview datatable

这是我想要实现的场景。我的表单上有一个DataGrid控件。我使用XCeed Data Grid for .Net作为我的选择控制。我通过DataTable作为DataSource来驱动DataGrid。 Grid允许我按列排序数据非常酷。同样的数据也被绘制在Chart控件上。这样,您可以将数据看作表格和图表。

我想知道的是能够通过单击列对网格中的数据进行排序,然后查看图表上更新的新排序数据。一般来说,你会怎么做这样的事情?你如何从gridview contorl中获取 back 的排序数据?告诉我如何使用XCeed Grid控件完成的额外要点:)

谢谢!

1 个答案:

答案 0 :(得分:0)

对网格的排序事件执行以下操作..或每当

        //get data w/ sort expression
        DataTable dt = (DataTable)gridview1.DataSource;

        //bind sorted data to another control
        chartcontrol.datasource = dt.DefaultView.ToTable();
        chartcontrol.databind();

        //add sorted ids to session to get crazy with
        if (dt != null)
        {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append(dt.DefaultView[i]["ID"].ToString() + ",");
            }
            if (sb.Length > 0)
                sb.Remove(sb.Length - 1, 1);

            Session["SortedIDs"] = sb.ToString();
         }