c#中关于 dataView的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:09:44
DataSet dataset =new Dataset();
DataView dataView = new DataView() dataView.Table=dataset.Tables[0];
dataView.Sort = " Grade desc";

它们都是类 ,本该 在 第三行赋值 以后 直接修改dataView中的Table就可以改变DataSet的Table中的排序 为什么这里不行,难道第三行 不是引用传递?它们不是类吗? 请说明下根本的原因。。谢谢
DataSet dataset =new Dataset();
DataView dataView = new DataView() ;
dataView.Table=dataset.Tables[0];
dataView.Sort = " Grade desc";

代码上面忘记换行了

要想实现排序功能,首先设置数据列表控件为允许排序.比如用datagrid
其次用sqldataadapter对象从数据库中提取数据放入dataset对象中,接着就创建视图对象了DataView dataView =dataset.Tables[0].DefaultView;
dataView.Sort = " Grade desc";
然后设置数据列表控件的datasource为dataView;
DataGrid1.DataSource=dataView;

DataGrid1.DataBind();

你的意思难道是第三行执行完后,Table立即会排序?当然不会了,也跟class没关系。

问题是dataView建立后,没有和任何Control建立Binding,

//假设你用的是DataGridView,需要
DataView dataView = new DataView(dataSet.Tables[0],"*","Grade DESC",DataViewRowState.CurrentRows);
dataGridView.DataSource=dataView;

C#
private void SortByTwoColumns()
{
// Get the DefaultViewManager of a DataTable.
DataView view = DataTable1.DefaultView;

// By default, the first column sorted ascending.
view.Sort = "State, ZipCode DESC";
}

你这只是给DATAVIEW赋值吗?即便是改变了也不能更改到数据库里面的,你可以用SQLCOMMAND命令。。。