複数のRadDocksを同時に動的に作成しようとすると問題が発生します。
私が達成したいのは、ボタンクリックで複数のドックをDockZoneに追加することですが、最初にDockが適切に作成され、残りが表示されていないときに表示されます(更新後に表示されます)。ウェブページ)とそれらは作成されますが、ゾーンの外に浮かんでいます。
一度に1つのDockを作成する場合にも同様のシナリオがあり、それは魅力のように機能します。
コードは次のとおりです。
protected void rbAddTickets_Click(object sender, EventArgs e)
{
var ticketList = (from t in db.Ticket
where t.idManager == idManager && t.Zatvoren == false || t.idManager == null && t.Zatvoren == false
select t).ToList();
var memoTicketList = from t in ticketList
where t.Memo == null || t.Memo == true
orderby t.Firma.Naziv, t.idNadredeniTicket, t.RedniBroj, t.Opis
select t;
foreach (var ticket in memoTicketList)
{
RadDock dock = new RadDock();
dock.UniqueName = ticket.idTicket.ToString();
dock.ID = string.Format("RadDock{0}", dock.UniqueName);
dock.Title = ticket.idNadredeniTicket + "-" + ticket.RedniBroj + " (" + ticket.Firma.Naziv + ")";
dock.Text = ticket.Opis;
dock.DockMode = DockMode.Docked;
//dock.Index = Convert.ToInt32(Session["MinIndex"]) - 1;
dock.Commands.Add(new DockCloseCommand());
dock.Commands.Add(new DockExpandCollapseCommand());
dock.Command += new DockCommandEventHandler(DockCommands);
//ticket.Memo = true;
//db.SaveChanges(); OMOGUĆI KASNIJE
UpdatePanel1.ContentTemplateContainer.Controls.Add(dock);
ScriptManager.RegisterStartupScript(
dock,
this.GetType(),
"AddDock",
string.Format(@"function _addDock() {{
Sys.Application.remove_load(_addDock);
$find('{1}').dock($find('{0}'));
$find('{0}').doPostBack('DockPositionChanged');
}};
Sys.Application.add_load(_addDock);", dock.ClientID, rdzIncidenti.ClientID),
true);
CreateSaveStateTrigger(dock);
}
}
だから、すべてを要約すると。ドックを適切に生成したいと思います。ページを更新してDockZone内に作成しなくても、すぐに表示できます。
どんな助けでもいただければ幸いです。