DataSet germanyCustomers = customerDataSet.Clone();DataRow[] copyRows = 
  customerDataSet.Tables["Customers"].Select("CountryRegion = 'Germany'");DataTable customerTable = germanyCustomers.Tables["Customers"];foreach (DataRow copyRow in copyRows)
  customerTable.ImportRow(copyRow);
这段是MSDN上的代码,clone一个dataset,然后从前一个dataset中选取一些行放入新的dataset中            DataSet buystock = historystockDataSet.Clone();
            DataRow[] copyRows = historystockDataSet.stock.Select("type='买入'");            
            DataTable buyTable =buystock.Tables.Add("buy");
            
            foreach (DataRow copyRow in copyRows)
            {
                buyTable.ImportRow(copyRow);
            }            dataGridView1.DataSource = buystock.Tables["buy"];
这个是我自己写的代码,能正常运行,但是datagridview中不显示任何数据。
historystockDataset是一个强类型

解决方案 »

  1.   

    dataGridView1.DataBind();
    加在最后
      

  2.   

                dataGridView1.DataSource = buyTable;
      

  3.   

    dataGridView1.DataBind();这个连编译都过不了呀
    只有dataGridView1.DataBindings呀
    dataGridView1.DataSource = buyTable;把原来的datasource改成这个的话,还是什么都不显示
      

  4.   

    dataGridView1.DataBind();这个是web的写法,winform不用
      

  5.   

    这里dataGridView1.DataSource = buyTable设置一个断点看看,
    邦定的数据源,到底有没有数据
    historystockDataSet这里面有几个table?DataSet buystock = historystockDataSet.Clone();
                DataRow[] copyRows = historystockDataSet.stock.Select("type='买入'");            这句不对
                DataTable buyTable =buystock.Tables.Add("buy"); ????
                
                foreach (DataRow copyRow in copyRows)
                {
                    buyTable.ImportRow(copyRow);
                }            dataGridView1.DataSource = buystock.Tables["buy"];
      

  6.   

    dataGrid.DataSource = buyTable
      

  7.   

    dataGrid.DataSource = buyTable[“表名字”];
    dataGridView1.DataBind();
      

  8.   

    我在新的dataset中希望有两个表,一个buy,一个sell,分别存放买入的和卖出的
    数据从前面那个dataset中过滤出来
      

  9.   

    我最后找到问题的解决方法了,不是clone那个dataset而是clone其中的table