2016-09-08 90 views
0

我在我的c#應用程序中使用devexpress GridView。所以我初始化我GridView這樣的:從devexpress gridview c獲取過濾行#

gridControl.DataSource = new BindingList<ViewDomainClass.MaterialOffice.DAViewMTO>(_materialRepository.ViewMTOByDetail()) 

,它的輸出值是List<DAViewMTO>。所以我的用戶能夠過濾GridView中的數據,我只需要我的用戶過濾的數據。

所以我需要這些數據(過濾)移動型List<DAViewMTO>

我怎麼能這樣做的另一個列表?

+0

@Ehsan你好,請通過這些[ 「XtraGrid中得到過濾行」] (https://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=xtragrid%20get%20filtered%20rows)搜索結果以獲取DevExpress主題中的參考詢問他們的論壇。 –

回答

1

使用此:

public static List<T> GetFilteredData<T>(ColumnView view) 
     { 
      List<T> resp = new List<T>(); 
      for (int i = 0; i < view.DataRowCount; i++) 
       resp.Add((T)view.GetRow(i)); 

      return resp; 
     } 

而且這樣調用:

ColumnView View = gridControl.MainView as ColumnView; 
    List<DAViewMTO> mydata= GetFilteredData<DAViewMTO>(View).ToList(); 
1

您可以使用兩種方法從GridView中獲取過濾的行。

  1. 第一個是大家有目共睹的行從0遍歷到GridView的RowCount,得到行經由GetVisibleRowHandle方法可見指數處理,通過GETROW方法得到了行的基礎對象,並插入這些行一個不同的IList。
  2. 第二種方法是使用GridView的DataController.GetAllFilteredAndSortedRows()方法。此方法返回當前排序順序中當前可見行的IList。

參考文獻:
Getting Filtered Rows
How to get filtered rows
XtraGrid GridView : How to get the filtered rows - 如果數據源是數據表
how to get the xtragrid filtered and sorted datasource?

如果你沒有找到實現這一路然後再通過文檔,以獲得正確的方法來獲取數據。

希望這有助於..

+0

在你的參考中,我發現這個:https://www.devexpress.com/Support/Center/Question/Details/Q303908但是究竟是什麼ColumnView? –

+0

[ColumnView](https://documentation.devexpress.com/#WindowsForms/clsDevExpressXtraGridViewsBaseColumnViewtopic)是通常在Designer類中創建的GridView的基類,如果您拖放網格控件..網格控件有不同的視圖通過文檔來了解更多關於這些..你很高興找到答案.. :) –