首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用户排序列时,如何同步Datagridview和数据源?

当用户排序列时,如何同步Datagridview和数据源?
EN

Stack Overflow用户
提问于 2013-09-14 00:41:37
回答 2查看 423关注 0票数 0

我在windows窗体项目中有一个通过SqlDataAdapter直接绑定到Dataset的DataGridview。我有一个可编辑的列,用户可以编辑,如果用户不对列进行排序,效果会很好。

如果用户对列进行排序,则基础数据源将与Datagridview显示的内容不同步。

当用户对网格视图和数据源进行排序时,什么是保持网格视图和数据源同步的标准技术?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-09-14 00:55:25

据我所知,自动排序不适用于DataGridView,要执行排序,您需要对数据源进行排序,然后将其重新绑定到GridView,如下面的代码所示

代码语言:javascript
复制
private void Sort_DataGrid(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
    // Never use Queries like this always use Stored procedures
    SqlCommand myCommand = new SqlCommand("SELECT * FROM Categories", myConnection);
    myCommand.CommandType = CommandType.Text;
    SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
    DataSet ds = new DataSet();
    myAdapter.Fill(ds, "Categories");
    DataView dv = new DataView(ds.Tables["Categories"]);
    if ((numberDiv % 2) == 0)
        dv.Sort = e.SortExpression + " " + "ASC";
    else
        dv.Sort = e.SortExpression + " " + "DESC";
    numberDiv++;
    myDataGrid.DataSource = dv;
    myDataGrid.DataBind();
}
票数 0
EN

Stack Overflow用户

发布于 2013-09-14 01:23:31

我似乎找不到触发单击标题来排序datagridview的事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18791253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档