У меня есть winform/OCX, который использует документ qlikview. Мы получили патч от QV, так что RefreshDocument работает в OCX, как RefreshDocument делает в приложении QV. Но приложение показывает хорошую включенную кнопку, когда документ перезагружается на сервере.Обнаружение документа Обновление произошло на сервере
Кто-нибудь знает, что нужно сделать, чтобы обнаружить это. Либо в C#, либо в макрокоде или ManagementAPI?
Это код ReloadDocument.
private void button2_Click(object sender, EventArgs e)
{
var myBloodybookmarkHack = "dynaBookmark" + Guid.NewGuid().ToString().Replace("-","");
axQlikOCX1.ActiveDocument.CreateUserBookmark(myBloodybookmarkHack, true);
//axQlikOCX1.OpenDocument(@"qvp://qvSeverName/path/MyDocument.qvw?bookmark=Server\dynaBookmarkb5aa82ae467540fdb0d18bb499044ed9");
axQlikOCX1.RefreshDocument();
axQlikOCX1.ActiveDocument.RecallUserBookmark(myBloodybookmarkHack);
axQlikOCX1.ActiveDocument.RemoveUserBookmark(myBloodybookmarkHack);
}
С помощью подавления события краски я получаю, что это работает довольно нормально. Следующий патч будет включать в себя то, что он сохраняет выбор (будет исправлено в 11.2 servicerelease 6).
Вам нужно определить, был ли CreateUserBookmark успешным или нет, а не восстанавливать закладку, если создание завершилось неудачно.
Этот код работает в QV 11.2 serviceRelease 5.
Мы проверили с помощью кодеров QV, что они даже делают этот тип закладок в одном месте.Но теперь есть ошибка в этом вопросе, и, надеюсь, в sr6, запланированном на апрель 2014, следует удалить необходимость взлома закладки. – Archlight