У меня есть пользовательское действие, которое я хочу передать в имя сервера sql, и оно заполняет раскрывающийся список с результатами, однако выпадающий список не получает обновления с результатами
Добавлено пользовательское действие
[CustomAction]
public static ActionResult PopulateAvailableDatabases(Session session)
{
const string availableDatabases = "AVAILABLE_DATABASES";
session.Log("inside PopulateAvailableDatabases");
var view = session.Database.OpenView($"DELETE FROM ComboBox WHERE ComboBox.Property='{availableDatabases}'");
view.Execute();
view = session.Database.OpenView($"SELECT * FROM ComboBox WHERE ComboBox.Property='{availableDatabases}'");
view.Execute();
var databases = GetDatabases(session);
int index = 0;
try
{
foreach (var database in databases)
{
session.Log(database);
var record = session.Database.CreateRecord(3);
record.SetString(1, availableDatabases);
record.SetInteger(2, index++);
record.SetString(3, database);
view.Modify(ViewModifyMode.InsertTemporary, record);
}
}
catch (Exception ex)
{
ex.ToString();
session.Log("Exception Details: " + ex.Message);
}
view.Close();
session.Log("Closing view");
view.Close();
return ActionResult.Success;
}
Это в моем диалоговом окне:
<Control Id="FindDatabase" Type="PushButton" X="270" Y="65" Width="56" Height="17" Text="&Find Databases">
<!--<Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>-->
<Publish Event="DoAction" Value="PopulateAvailableDatabases">1</Publish>
<!--<Publish Event="EndDialog" Value="Return">1</Publish>-->
</Control>
Вот раскрывающийся список:
<Control Id="DatabaseNameLabel" Type="Text" X="47" Y="181" Width="100" Height="15" TabSkip="no" Text="&Database:" />
<Control Id="DatabaseNameEdit" Type="ComboBox" X="45" Y="194" Width="220" Height="18" Property="AVAILABLE_DATABASES">
<ComboBox Property="AVAILABLE_DATABASES">
<ListItem Text="[AVAILABLE_DATABASES]" Value="[AVAILABLE_DATABASES]" />
</ComboBox>
<Publish Property="DATABASE_NAME" Value="0">1</Publish>
</Control>