C# NX二次开发:如何编辑ug树列表的选中节点讲解

好久没有写关于ug二次开发相关文章了,今天写一个关于编辑ug树列表的功能。

首先介绍一下ug树列表,如下图所示:

C# NX二次开发:如何编辑ug树列表的选中节点讲解_第1张图片

而想要编辑这个树列表的内容,需要运用ug二次开发模板中的几个回调函数,如下图所示:

分别是SetOnBeginLabelEditHandler():表示是否允许编辑树列表单元格文本的回调函数。

SetOnEndLabelEditHandler():表示是否接受修改的文本的回调函数。

SetOnEditOptionSelectedHandler():表示是否允许编辑树列表单元格的回调函数。

SetAskEditControlHandler():表示加载控件内容的回调函数。

对于AskEditControlCallback回调函数如何使用代码如下所示:

NXOpen.BlockStyler.Tree.ControlType AskEditControl=new Tree.ControlType();

NXOpen.BlockStyler.Tree.ControlType AskEditControl1 = new Tree.ControlType();

NXOpen.BlockStyler.Tree.ControlType AskEditControl2 = new Tree.ControlType();

if (columnID == 3) //要加下拉框的列的编号

{

AskEditControl1 = NXOpen.BlockStyler.Tree.ControlType.ComboBox;

//AskEditControl = NXOpen.BlockStyler.Tree.ControlType.ComboBox;

string[] items = new string[1];

tree.SetEditOptions(items, 0);

}

if (columnID == 1) //要加下拉框的列的编号

{

AskEditControl2 = NXOpen.BlockStyler.Tree.ControlType.ListBox;

string[] items = new string[5];

items[0] = "天气好";

items[1] = "天气不好";

items[2] = "阴天";

items[3] = "晴天";

items[4] = "一点点";

tree.SetEditOptions(items, 0);

//AskEditControl = NXOpen.BlockStyler.Tree.ControlType.None;

}

return AskEditControl;

上述代码实现的功能是我在编辑树列表第2列的时候,加载一个combox控件,这个控件的下拉框中没有写任何的内容。

在编辑树列表第4列的时候,加载一个listbox控件。控件的下拉内容为下面五项:

items[0] = "天气好";

items[1] = "天气不好";

items[2] = "阴天";

items[3] = "晴天";

items[4] = "一点点";

这里为什么我写的列值判断是1和3,但列数却是第2列和第4列呢?

因为列的index值是从0开始计算的,也就是说第一列的index为0.

其它三个回调函数的使用方法如下图所示:

C# NX二次开发:如何编辑ug树列表的选中节点讲解_第2张图片

今天的分享到此结束,我们下篇文章再见。

你可能感兴趣的:(NX二次开发,c#,visual,studio,开发语言)