0
下面的代碼在我的應用程序啓動時被調用。數據源確實有1個項目。但是,消息框永遠不會顯示。現在,當第一次繪製用戶界面時,gridview確實有一行。如果我在一個按鈕上再次調用代碼,請按下消息框顯示正確。這裏發生了什麼,我該如何解決它(我認爲它與線程有關,因爲radGridview尚未實際更新)?在啓動時Gridview列數始終爲0
C#代碼綁定網格
// Bind list to gridview
this.radGridViewFiles.BeginInvoke((MethodInvoker)(() => this.radGridViewFiles.DataSource = null));
this.radGridViewFiles.BeginInvoke((MethodInvoker)(() => this.radGridViewFiles.DataSource = MyGlobals.ListOfItemsToControl.Concat(MyGlobals.lstNewItems.Where(i => i.sItemRequestStatus == "Add").ToList()))); //
if (radGridViewFiles.Columns.Count > 0)
{
RadMessageBox.Show(" This messagebox should show on startup but it does not - But if i call all this code again manually on a button press it does show ??? !!");
}
如何等待異步操作完成? – user1438082
@ user1438082你在你的'radGridViewFiles'上調用'EndInvoke'。此操作將阻止,直到操作完成。 – Anri
是正確的方式來做到這一點 - 我有,根據您的反饋瞭解有關異步和等待,沒有網站提到endinvoke?如果我確實需要endinvoke,那麼你可以指定所需的代碼行/行。 – user1438082