我已用
string ClientName=this.dataSet2.Tables ["client"].Rows [this.dataGrid1.CurrentRowIndex ]["客户姓名"].ToString ();
来取ClientName的值,一切OK,没有任何问题,但当点击DataGrid的列头的时候,问题来了.
ClientName获取的是在排序之前的值,列排序之后相关的ClientName值是错误的.请问:
1.如何让DataGrid点击列无效.就是不让其排序.但必须显示列名(也就是抬头)
2.如果让其排序,如何让ClientName获取的值也是正确的.
3.DataGrid排序后内容发生变化的事件是哪个事件.
string ClientName=this.dataSet2.Tables ["client"].Rows [this.dataGrid1.CurrentRowIndex ]["客户姓名"].ToString ();
来取ClientName的值,一切OK,没有任何问题,但当点击DataGrid的列头的时候,问题来了.
ClientName获取的是在排序之前的值,列排序之后相关的ClientName值是错误的.请问:
1.如何让DataGrid点击列无效.就是不让其排序.但必须显示列名(也就是抬头)
2.如果让其排序,如何让ClientName获取的值也是正确的.
3.DataGrid排序后内容发生变化的事件是哪个事件.
if (bm.Count <= 0 || bm.Position == -1) return;
DataRow dr = ((DataRowView)bm.Current).Row;
ClientName=dr["客户姓名"].ToString ();
private void DataGrid1_SortCommand(object source, DataGridSortCommandEventArgs e)
{
}
原来我设置了使用了表样式,TableStyles\AllowSorting设为False,一切OK,没有问题.