private void Form7_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“zbroad2009DataSet.BOM从表”中。您可以根据需要移动或移除它。
            this.BOM从表TableAdapter.Fill(this.zbroad2009DataSet.BOM从表);
            // TODO: 这行代码将数据加载到表“BOM.DataTable1”中。您可以根据需要移动或移除它。            this.reportViewer1.RefreshReport();
        }我一直不喜欢用强类型的dataset,因为不便于控制, 现在报表一定要涉及到这个强类型的DATASET,但是以下代码让我感觉强类型无法控制填充的数据,比如我要加上条件, 只是符合条件的我才填充进去,这才是我想要的报表,  如何去控制这个强类型呢,请高人帮忙指点一下,非常感谢.
this.BOM从表TableAdapter.Fill(this.zbroad2009DataSet.BOM从表);

解决方案 »

  1.   

    1、打开数据集YourDataSet.xsd文件
    2、找到对应的表BOM从表
    3、右键单击Fill,GetData()处,选择添加查询
    4、在默认的查询语句中添加条件,注意:这个条件里面如果需要参数,必须是@形式的。
        构造好的查询语句可如下:select * from BOM从表 where id > @id
    5、给这个查询起个名称,比如FillById(),GetDataById(),ok结束
    6、然后当你在程序中需要填充数据时,调用方式如下:
        //BOM从表TableAdapter适配器下就会有两个填充方法Fill()和FillById(),而且第二个方法还可以输入参数
        this.BOM从表TableAdapter.FillById(this.zbroad2009DataSet.BOM从表, 10); 
      

  2.   

    其实强类型数据集还是非常强的,尤其是在小型不用分层的项目中更是如此。lz可以想想,ms做出来的东西不管效率怎么样,功能一定非常好的
      

  3.   

    最喜欢dataset和datatable了,一般控制填充的记录数都是SQL语句里控制的,不然也可以使用Fill的一个重载方法,参考定义如下:DbDataAdapter.Fill 方法 (DataSet, Int32, Int32, String) public int Fill(
    DataSet dataSet,
    int startRecord,
    int maxRecords,
    string srcTable
    )