none
datagridview显示某些行 RRS feed

  • 问题

  • 别人写的sql语句是  select * from xxTable然后把结果放到dataTable中

    datagridview.dataSource=dataTale

    而我只想要其中的几行数据显示,怎么在不改动sql语句的情况下。让datagridview值显示我要的那几行??

    2013年3月7日 7:24

答案

  • 使用 BindingSouce 控件

    var bs = new BindingSource(YourDataTable, null);

    bs.Filter = "ColumnName = 'YourValue'";

    DataGridView.DataSource = bs;


    知识改变命运,奋斗成就人生!

    2013年3月8日 1:38
    版主
  • 你好,你可以用DataView

    DataView 的主要功能為允許在 Windows Form 和 Web Form 上繫結資料。

    此外,可以自訂 DataView 來表示 DataTable 的資料子集。這個功能可讓您擁有繫結至相同 DataTable 的兩個控制項,但這兩個控制項會顯示不同版本的資料。例如,一個控制項可能繫結至顯示資料表中所有資料列的 DataView,而第二個控制項可能設定為僅顯示已經從 DataTable 中刪除的資料列。DataTable 也有 DefaultView 屬性,這會傳回資料表的預設 DataView。例如,如果您希望在資料表上建立自訂檢視表,請在 DefaultView 傳回的 DataView 上設定 RowFilter。

    若要建立資料的篩選和排序檢視表,請設定 RowFilter 和 Sort 屬性。然後,使用 Item 屬性傳回單一 DataRowView。

    您也可以使用 AddNew 和 Delete 方法從資料列集中進行加入和刪除。當您使用那些方法時,RowStateFilter 屬性可以設定以指定 DataView 只顯示已刪除或新的資料列。


    http://msdn.microsoft.com/zh-tw/library/system.data.dataview(v=vs.80).aspx


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    2013年3月9日 7:24

全部回复

  • 使用Visible属性(设置为False)

    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridviewrow.visible(v=vs.80).aspx


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats

    2013年3月7日 7:32
    版主
  • 使用 BindingSouce 控件

    var bs = new BindingSource(YourDataTable, null);

    bs.Filter = "ColumnName = 'YourValue'";

    DataGridView.DataSource = bs;


    知识改变命运,奋斗成就人生!

    2013年3月8日 1:38
    版主
  • 你好,你可以用DataView

    DataView 的主要功能為允許在 Windows Form 和 Web Form 上繫結資料。

    此外,可以自訂 DataView 來表示 DataTable 的資料子集。這個功能可讓您擁有繫結至相同 DataTable 的兩個控制項,但這兩個控制項會顯示不同版本的資料。例如,一個控制項可能繫結至顯示資料表中所有資料列的 DataView,而第二個控制項可能設定為僅顯示已經從 DataTable 中刪除的資料列。DataTable 也有 DefaultView 屬性,這會傳回資料表的預設 DataView。例如,如果您希望在資料表上建立自訂檢視表,請在 DefaultView 傳回的 DataView 上設定 RowFilter。

    若要建立資料的篩選和排序檢視表,請設定 RowFilter 和 Sort 屬性。然後,使用 Item 屬性傳回單一 DataRowView。

    您也可以使用 AddNew 和 Delete 方法從資料列集中進行加入和刪除。當您使用那些方法時,RowStateFilter 屬性可以設定以指定 DataView 只顯示已刪除或新的資料列。


    http://msdn.microsoft.com/zh-tw/library/system.data.dataview(v=vs.80).aspx


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    2013年3月9日 7:24
  • 你好,我要匹配的是某些列,而rowFilter只能匹配某些行,

    还有别的方法吗?

    我试着一个个cell的赋值,好像可以,只是暂时还没有写出来,可以帮忙想想办法不?

    2013年3月12日 12:34
  • 你好,我要匹配的是某些列,而rowFilter只能匹配某些行,

    还有别的方法吗?

    我试着一个个cell的赋值,好像可以,只是暂时还没有写出来,可以帮忙想想办法不?

    2013年3月12日 12:34
  • 请问还有没有别的办法?
    2013年3月12日 12:35
  • 过滤行与自定义列的方式是不一样的,见我在你的另一主题的回复

    知识改变命运,奋斗成就人生!

    2013年3月13日 3:12
    版主