难以排序DataGridView ASP.NET / MySQL

时间:2016-02-29 16:46:44

标签: c# asp.net sorting datagrid

我有一个DataGridView,它使用模板字段和绑定的Item模板,由于这种手动数据绑定实现,我很难找到按列排序数据的方法(Asc,Des)。

有人可以举例说明如何实现这一点或指出我出错的地方。

示例模板字段:

<asp:TemplateField HeaderText="User ID">
     <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("UserID") %>'></asp:Label>
     </ItemTemplate>
</asp:TemplateField>

绑定数据代码:

private void BindData()
{
    DataTable dt = new DataTable();
    using (MySqlConnection cn = new MySqlConnection(conString))
    {
        MySqlDataAdapter adp = new MySqlDataAdapter("SELECT UserID,firstname,surname,department,email,username,role,lastlogin,pwordreset FROM users", cn);
        adp.Fill(dt);

        if (dt.Rows.Count > 0)
        {
            usersGridView.DataSource = dt;
            usersGridView.DataBind();
        }
    }

}

使用下拉列表时要调用的排序函数:

private void sortGV(string value)
{
    MySqlDataAdapter adapter = new MySqlDataAdapter();
    MySqlCommand cmd;
    DataView dv;

    string sql = "SELECT UserID,firstname,surname,department,email,username,role,lastlogin,pwordreset FROM users";
    cmd = new MySqlCommand(sql, con);
    adapter.SelectCommand = cmd;

    //Fill dataset
    adapter.Fill(ds);

    dv = new DataView(ds.Tables[0]);
    dv.Sort = value;

    usersGridView.DataSource = dv;
}

感谢。

0 个答案:

没有答案