各位高人!我建立了一个个人资料表,做了一个查询,在listbox中显示"姓名"字段,如何实现点击
listbox字段在CrystalReport.rpt报表中显示对应"姓名"字段的详细信息???
请求高人指点!

解决方案 »

  1.   

    直接做成主从报表不就行了吗?为什么要用listbox?
      

  2.   

    就你写的也不需要主从表吧,你在做Crystal Report时建一个参数,它里面设置就以这个参数为条件进行筛选,然后你点姓名的时候只是将这个姓名传给Crystal Report。OK?
      

  3.   

    别激动
    autopostback 属性 true
    private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        //显示报表
    }
    显示报表里写个参数,为姓名字段,每点一次执行一次查询,然后显示。
    这样行不?
      

  4.   

    我是新手!!还不太会用Crystal Report,具体的代码怎么实现呀?
      

  5.   

    水晶报表分pull和push两种方法,一般都用push的,因为比较灵活,这个就是要建立自己的大dataset,然后sql语句也自己写。
    如果你用的是这种方法,那么在sql语句里做文章就可以了
    private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        string s = ListBox1.DataTextField.ToString();//取名字
        // 把s作为查询的条件写到sql里去
        //显示报表
    }
      

  6.   

    显示出来报表,能做!具体的代码可以写的详细一些吗??我用的是web窗体开发的,现在不知道怎么传值能实现在Crystal Report中显示符合条件的详细信息!!
      

  7.   

    你有写sql语句吧?把string s = ListBox1.DataTextField.ToString();//取名字作为查询条件写道sql里不就可以根据你选择的名字来查询了么,其实就是把sql改一下就可以了
    比如string strsql = "select * from table where namecloum = '"+s+"'";
      

  8.   

    那怎么把条件加入到Crystal Report中去呢??
      

  9.   

    不用再加了呀,查询到的结果不是放到自己建的dataset里了么,然后再报表里把dataset的字段拖进去就可以了
    后边的都是用到查询结果,只要查询结果变了,报表不就跟着变了
      

  10.   

    //水晶报表分pull和push两种方法,一般都用push的,因为比较灵活,这个就是要建立自己的大dataset,然后sql语句也自己写。
    dataset是在Crystal Report数据库专家里建的吗?
      

  11.   

    DataSet1.xsd就是这种文件,我是日文系统,不知道中文叫什么。建立这个类以后就可以通过改变sql语句来改变显示结果了
    好像Crystal Report数据库专家里建的方法是pull,直接把表中的数据显示出来,但不能根据自己的要求改变
    建议查查push方法的资料
      

  12.   

    邵志东的《Webcast:水晶报表的使用》,比较入门级,我就看这个学的,有视频资料,一步步很详细 ,找找吧
      

  13.   

    水晶报表分pull和push两种方法,一般都用push的
    用push方法可以使用dataset进行动态的改变水晶报表的数据源!
    方法如下:
    1、在项目中添加数据集(dataset)然后设sql语句.
    2、在水晶报表中,建立一个push模式的水晶报表文件,选ado.net然后选择建立好的dataset。
    3、在页面文件中,拖动报表显示数据源,及报表显示查看器。在代码中即可以动态的改变水晶报表显示的数据了。
    4、也可以使用水晶报表的 document对象动态的更改水晶报表的数据源,及页面设置,打印页数
    等等设置!
      

  14.   

    给我一份C# 控制水晶报表自动添加列的例子。万分感谢。qq:1284610106