我有一個2列的ultrawridrid。要求是打開一個右鍵菜單,其中有一個選項「複製」,當任何單元格被右鍵單擊時。用戶可以選擇「複製」,然後複製單元格內容。在UltraWinGrid中更改列的類型
我已經有了擴展類「Label」的類「ExtendedLabel」。該標籤具有與上述相同的功能;區別在於標籤上發生的右鍵單擊。
的問題是;我怎樣才能把這個ExtendedLabel作爲ultrawridrid的列數據類型?這是我試過的:
public class Content
{
public Content()
{
Item = new ExtendedLabel();
Value = new ExtendedLabel();
}
ExtendedLabel Item = new ExtendedLabel();
ExtendedLabel Value = new ExtendedLabel();
}
Content a = new Content();
a.Item.Text = "Item1"; // The ExtendedLabel has a property called "Text"
a.Value.Text = "Value1";
Content b = new Content();
a.Item.Text = "Item2";
a.Value.Text = "Value2";
List<Content> contents = new List<Content>();
contents.Add(a);
contents.Add(b);
ultrawingrid.DataSource = contents;
現在網格是這樣的。
Item Value
-------------------------------------------------------------
{ExtendedLabel, Text: Item1} {ExtendedLabel, Text: Value1}
{ExtendedLabel, Text: Item2} {ExtendedLabel, Text: Value2}
然而,我想要的是:
Item Value
---------------
Item1 Value1
Item1 Value1
除了這一切,我是不是正確地這樣做呢?這是這裏最好的方法嗎?如果沒有,那麼如何?
TIA!
好的。但是這會將ExtendedLabel的功能應用於UltraGrid的單元嗎?我需要右鍵單擊我的單元格,以便出現上下文菜單。 – Sandeep 2012-08-13 13:16:00
不,要更改單元網格編輯器的功能,您需要構建自己的編輯器。這個過程有點複雜。在infragistics站點查看[this example](http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.aspx?ArticleID=2361)。另外,如果您安裝了示例,您可以在示例中找到工作解決方案:自定義編輯控件。但是,讓我說,不需要付出努力只需添加一個自定義菜單。您可以輕鬆地將自定義菜單添加到網格,並檢查您是否在右側列顯示它。 – Steve 2012-08-13 13:29:41
使用自定義標籤的更簡單方法是使用2009年第2卷中添加的ControlContainerEditor:http://help.infragistics.com/NetAdvantage/WinForms/Current/CLR2.0/?page=WinControlContainerEditor_Embed_Any_Control_within_WinGrid_Cell_using_UltraControlContainerEditor_Component.html – alhalama 2012-08-14 02:00:08