2011-06-21 25 views
0

我想從flexgrid複製數據,我有一個小問題。我正在使用過濾,我只是想複製選定的數據,但它的複製數據是「隱藏」(不顯示THX過濾器)。例如,我使用過濾器,在flexgrid中只有幾行,我想全部複製,所以點擊左上角的單元格,選擇所有顯示的行,但是當它超過所有行時(通過未顯示的)。使用Shift按鈕選擇行時相同。過濾,然後從flexgrid中選擇數據

我該如何「修復」它?我知道這很正常,這不是錯誤,但我需要改變它,我希望有這樣的簡單方法。改變一些財產或類似的東西。

但是,如果沒有我實際上沒有想法如何做到「硬」的方式。我在想,如果選擇的行顯示,可能使用_c1FlexGrid.Rows.Selected和某種方式控制。但我不知道如何。

感謝您的幫助

編輯

我弄清楚,如果我對FlexGrid的改變的SelectionMode從默認到列表框控件,然後我可以使用Rows.Selected,它有Visible屬性,我可以檢查是否行被顯示與否。所以我可以感謝這只是顯示的行。但是現在我不知道如何將這些行添加到剪貼板。在我使用這個之前:

Clipboard.SetDataObject(_c1FlexGrid.Selection.Clip); 

但現在我現在不用哪個類來保存顯示的行,然後到剪貼板。並且選擇有問題,因爲我喜歡SelectionMode,它是默認的(CellRange)並選擇了所有行,這並不理想。有任何想法嗎?

回答

0

因爲沒有其他人得到更好的解決方案我會在這裏寫我的。正如我在Edit中所寫的那樣,SelectionMode和CellRange有問題。我仍然不知道如何用這種模式「修復」它,但我想出瞭如何使用ListBox模式來完成它。

所以在flexgrid改變模式爲ListBox。然後你就可以在你的複製方法使用:

foreach (C1.Win.C1FlexGrid.Row item in _c1FlexGrid.Rows.Selected) 
{ 
    if (!item.Visible) 
     item.Selected = false; 
} 
Clipboard.SetDataObject(_c1FlexGrid.Clip); 

我希望這種幫助別人太:)

相關問題