我正在尝试用 CustomAction 填充 ListBox,但进展不顺利。我试图弄清楚session.Database.Tables
但不知道如何开始。
我创建了一个这样的列表框
<Control Id="ListBox1" Type="ListBox" Sorted="no" Indirect="no" Property="LISTBOXVALUESONE" X="10" Y="50" Width="150" Height="180">
<ListBox Property="LISTBOXVALUESONE">
<ListItem Text="ARGHH!" Value="1"/>
</ListBox>
</Control>
但是我在详细日志中看不到该属性或有关表的任何内容,所以我想我必须在 customAction 中创建一个表并填充它?我ARGHH!
在列表中看到我的所以它应该存在但我如何访问这些值?并添加新的?
在 C++ 中找到了更多示例和内容,但我想在 C# 中制作 CustomAction
编辑
Database db = session.Database;
string sqlInsertTemp = db.Tables["ListBox"].SqlInsertString + " TEMPORARY";
View view = db.OpenView(sqlInsertTemp );
view.Execute( new Record( new object[] { "LISTBOXVALUESONE", 2, "2", "One" } ));
view.Close();
多亏了克里斯托弗,我让它能够增加价值。
db.Tables["ListBox"]
应该保持不变并命名类型而不是我教的 id 在这一行上view.Execute( new Record( new object[] { "LISTBOXVALUESONE", 2, "2", "One" } ));
,您放置您的列表框属性,然后放置我们插入的值“一”
两个“2”是我认为我们想要它的位置,我已经在我的“ARGHH!”1 上有一个测试值。所以我把新的放在2上,不知道细节但是......
我收到一个表更新错误,如果我在自定义操作中输入 2,1 或 1,2,则会出现一个重复值错误!