单击datagrid的任一列头进行排序,如何获取排序后的数据集?
与datagrid绑定的dataset是排序前的数据,如何获取排序后的数据?
与datagrid绑定的dataset是排序前的数据,如何获取排序后的数据?
解决方案 »
- 100分求: winform中如何动态画流程图?
- winfrom 如何在Datagridview显示的数据中隔行插入一行自定义的行
- 如何读取一个文件夹下多个CSV文件到DATATABLE
- 知道对方的Gmail邮箱地址 如何获取他的公开的profile信息??
- C# xpath 查询问题
- DataGridViewComboBoxColumn问题(求救)?
- 如何实现图像中颜色的变换(类似于PHOTOSHOP中填充-颜色模式的效果)
- 用C#来实现读取oracle数据库备份文件(*.dmp文件)将其数据直接写入新建的数据库,请高手帮忙,谢谢
- iframe 自适应网页高度
- xml &符合引发的问题
- 紧急求救:打开一个MDI子窗体,老是无响应,为何?
- 求助?关于C#编写windows服务的教程、实例或相关资料!!!
点击事件中:
DataTable dt = dataSet.Tabels["TableName"];
DataRow row = dt.Rows.Find(dataGrid.DataKeys[e.Item.ItemIndex]);完整的实例可以查MSND:DataGrid的DataKeys属性
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q934q
=============
直接取得数据集恐怕有点难。
可以根据当前排序的字段重新形成一个sql语句,这样可以形成一个数据集了。
是要邦定到datagrid上达到排序的效果么?
如果是这样,那DataSet.Table[0].DefaultView.Sort(..)这个可以办到。
或者数据库查询的时候就加上order by字段
public class MyDataGrid : DataGrid
{
protected override void OnMouseDown(MouseEventArgs e)
{
Point pt = new Point(e.X, e.Y);
DataGrid.HitTestInfo hti = this.HitTest(pt);
if(hti.Type == HitTestType.ColumnHeader && hti.Column == 1)
{
sort col 1
((DataSet)this.datagrid.DataSource).Table[0].DefaultView.Sort(..)
}
base.OnMouseDown(e);
}
}
不过还是得感谢大家。