我有一个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