c_id c_author  c_class c_title c_post
1  1    asd       5       abc     0
2  2    dfd       8       jjd     0
3  2              5       abc     1
4  5              5       abc     1
5  6              8       jjd     2
6  3    sss       5       ccc     0
7  5              5       ccc     6
如上图,是一个SQL数据表,我想把第1,3,4行或2,5或6,7显示在DataGrid里
上面的代码只是一个SQL数据的一个部分,我想要的是用一条语句动态的实现上述效果,
而不是查询时使用如ID=等于某个具体的数字,因为我的数据不可能只有这几行.
所有分数都在这里,请哥哥,姐姐帮帮忙,谢谢!!!!!

解决方案 »

  1.   

    还是从sql语句下手
    或者都显示出来,再隐藏你不需要显示的行,但这么做并不是好办法
      

  2.   

    楼上的方法可行还有一种方法是:
    在DataGridVIEW中筛选.GridView1_RowDataBound事件 设置e.Row.RowIndex就可以了
      

  3.   

    那就给SQL文里传个参数阿这样就动态的了
      

  4.   

    先拖一个bindingSource1在窗体上
    DataTable dat = new DataTable();
    string sendsql = "select * from table";
    dat = SelectDataBase(sendsql);
    bindingSource1.DataSource = dat;
    this.dataGridView1.DataSource = bindingSource1;如果想要过滤显示的话 只需要对bindingSource1过滤就好了,代码如下
    此为只显示c_title = 'abc'的数据
    bindingSource1.Filter = "c_title = 'abc'";
      

  5.   

    能不能说详细点啊:
    我想做一个论坛,当c_post 
    =0时表明他就是贴主,当c_post=贴主最前面的ID就表明他是回复哪个贴主的贴子,
     我想了好久还是没想出来.
    谢谢
      

  6.   

    在datagridview里面解决很简单。假设某个datatable包含了要和不想要的数据,可以通过建立 dataview并设定选择语句再加上 dgv1.datasource = dataview1 语句就可以了。
      

  7.   

      
    "我想做一个论坛,当c_post   
    =0时表明他就是贴主,当c_post=贴主最前面的ID就表明他是回复哪个贴主的贴子, "   
     
      如果你是想实现这个,完全可以不用这样,绑定时加条件就行了..  例:select * from tabName where c_post=主题ID 这样就不行隐藏,和显示某一列了..呵呵,换个思路嘛..
      

  8.   

    铧仔,你好:
      但是会有个新问题出现啊,因为贴主的c_post=0,那么贴主的内容主不能显示出来了哦,呵呵.谢大家帮帮忙啊,谢谢了!!!!
      

  9.   

    SmallWhiter ,你好
        我要传的参数是当楼主发表贴子时,c_id自动产生,t_aurhor为楼主的账号,c_class表明他是在哪一个版面发的贴子,也就是你选择相应的版面后,系统会自动记住你的t_class,t_title为贴子的标题,c_post表明回复哪个档主的贴子.
      

  10.   

        "但是会有个新问题出现啊,因为贴主的c_post=0,那么贴主的内容主不能显示出来了哦"
    select   *   from   tabName   where   c_post=主题ID or c_id=主题ID
      

  11.   

    用DataView吧
    DataView dv = new DataView(dataTable);                
    dv.RowFilter = "City = 'Berlin'"。
      

  12.   

    感谢大家的支持,尤其感谢dh2087 ,你的方法最简单因此我用了你的方法:
    select * from tabname where c_post=你选择的列 and c_post=主题ID   or   c_id=主题ID order by 主题id asc
    DataView 我没怎么用过,刚学的时间用了一两次,现在都忘了,呵呵.