string query = "select CustomerID,CompanyName,ContactName from Customers";
string connString = //...假定连接字符串是一个有效的连接字符串
SqlDataAdapter ad = new SqlDataAdapter(query,connString);
DataSet ds = new DataSet();
ad.Fill(ds,"Customers");DataViewManager vueManager = new DataViewManager(ds);
//下面该如何使用vueManager对象来影响DataView呢?
//在DataViewManager对象中公开了DataViewSettings属性,但是这个属性在我看来根本是个摆设!
//它根本不能控制DataView的所包含的RowFilter,RowStateFilter,Sort属性!

解决方案 »

  1.   

    不过这个DataViewManager对象应该是挺有用处的一个对象。
      

  2.   

    从DataView对象中便能感觉的出来。
      

  3.   

    当然是DataViewManager对象对DataView的影响.
      

  4.   

    LZ可以查一些网上的关于DataViewManager对象的资料。
    这样有助于理解...
      

  5.   

    网上的一些资料我都看过了,没有一些具体的例子可以作为参考的。
    所以这才到CSDN来求救的, 只不过情形并没有想象的那样乐观。
      

  6.   

    其实我的问题非常的明了,比如使用DataViewManager对象的DataViewSettings属性如果改变了DataView对象的视图属性,怎样才能获取更改的信息?
    Code :
    DataViewSetting vueSet1 = vueManager["Customers"];
    DataViewSetting vueSet2 = vueManager["Orders"];
    vueSet1.Sort = "ContactName";
    vueSet2.Sort = "OrderDate";改怎样写代码才能将这些设置应用到DataView对象中呢?
      

  7.   

    @LZ:
    昨天我看了一些关于DataViewManager对象的帮助文档。但是都没有提及有关DataViewManager对象的具体的使用方法,非常遗憾。
    但是我们依然可以使用DataViewManager对象的CreateDataView方法能够方便的创建相关表的DataView对象。并且DataSet对象也公开了DefaultViewManager属性,在创建DataView对象时提供了一种简单的方法。
    希望对你有所帮助!
      

  8.   

    参考下面的代码    SqlDataAdapter ad = new SqlDataAdapter(query,connString);
        DataSet ds = new DataSet();
        ad.Fill(ds, "Customers");    DataViewManager vueManager = new DataViewManager(ds);
        DataViewSetting vueSet1 = vueManager.DataViewSettings["Customers"];
        vueSet1.Sort = "ContactName";    // 根据上面的设置创建DataView对象
        DataView view = vueManager.CreateDataView(ds.Tables["Customers"]);
        
        // 对DataView进行后续操作,例如绑定到显示控件,或用foreach枚举每一行:
        //System.Windows.Forms.DataGrid grid = new System.Windows.Forms.DataGrid();
        //grid.DataSource = view;
        //this.Controls.Add(grid);
      

  9.   

    感谢jshi123这位朋友,真想不到这个问题的解决方式是如此的简单.
    我测试下,然后回来结贴!
    谢谢了...
      

  10.   

    string select = "Select id, username, password, email FROM TestUser";             
    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MGC"].ConnectionString)) 
                
    {               
    conn.Open();               
    SqlDataAdapter da = new SqlDataAdapter(select, conn);                
    DataSet ds = new DataSet();                 
    da.Fill(ds, "TestUser");                             
    DataViewManager dvm = new DataViewManager(ds);//创建DataViewManager,包装DataSet                
    dvm.DataViewSettings["TestUser"].RowFilter = "password='000'";                
    dataGrid1.SetDataBinding(dvm, "TestUser");                
    conn.Close(); TestUser 表中的DataView,使之显示出来password='000'的用户