Hi,
I've a question regarding radajaxpanel and the ajaxmanager. I've used the telerik example RadScheduler with tooltip. I've extended the tooltip with a button. The ClickEvent is implemenet in the main page (code behind - used a deligate in the tooltip control). The Button works fine, but after executing the onclick event I like to update my rategrid1. It works with an updatepanel if I use UpdatePanel2.Update(). But if i use radajaxpanel the rategrid1 doesn't get updated even on rategrid1.rebind(). Also the Button on the bottom of the page, which is enabled=false should be updated. I guess I've to use the ajax manager, but I'm not sure how this works. Maybe you can tell me how to manage the updates.
Here is my new code again:
Thanks
I've a question regarding radajaxpanel and the ajaxmanager. I've used the telerik example RadScheduler with tooltip. I've extended the tooltip with a button. The ClickEvent is implemenet in the main page (code behind - used a deligate in the tooltip control). The Button works fine, but after executing the onclick event I like to update my rategrid1. It works with an updatepanel if I use UpdatePanel2.Update(). But if i use radajaxpanel the rategrid1 doesn't get updated even on rategrid1.rebind(). Also the Button on the bottom of the page, which is enabled=false should be updated. I guess I've to use the ajax manager, but I'm not sure how this works. Maybe you can tell me how to manage the updates.
Here is my new code again:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ProtelShop._Default" MasterPageFile="~/ProtelShop.Master" %> |
<%@ Register assembly="Telerik.OpenAccess, Version=2009.1.405.1, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342" namespace="Telerik.OpenAccess" tagprefix="telerik" %> |
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> |
<%@ Reference Control="~/Controls/ShopBuyTooltip.ascx" %> |
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> |
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="RadGrid1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
<telerik:AjaxSetting AjaxControlID="RadWindowManager1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadWindowManager1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<div> |
</div> |
<telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> |
</telerik:RadScriptManager> |
<telerik:RadWindowManager runat="server" ID="RadWindowManager1"> |
</telerik:RadWindowManager> |
<script type="text/javascript"> |
//<![CDATA[ |
function hideActiveToolTip() |
{ |
var controller = Telerik.Web.UI.RadToolTipController.getInstance(); |
var tooltip = controller.get_activeToolTip(); |
if (tooltip) |
{ |
tooltip.hide(); |
} |
} |
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler); |
function beginRequestHandler(sender, args) |
{ |
var prm = Sys.WebForms.PageRequestManager.getInstance(); |
if (args.get_postBackElement().id.indexOf('RadScheduler1') != -1) |
{ |
hideActiveToolTip(); |
} |
} |
function clientBeforeShow (sender, eventArgs) { |
w = $telerik.$(window).width() / 2; |
h = $telerik.$(window).height() / 2; |
if ((sender._mouseX > w) && (sender._mouseY > h)) { |
sender.set_position(Telerik.Web.UI.ToolTipPosition.TopLeft); |
return; |
} |
if ((sender._mouseX < w) && (sender._mouseY > h)) { |
sender.set_position(Telerik.Web.UI.ToolTipPosition.TopRight); |
return; |
} |
if ((sender._mouseX > w) && (sender._mouseY < h)) { |
sender.set_position(Telerik.Web.UI.ToolTipPosition.BottomLeft); |
return; |
} |
sender.set_position(Telerik.Web.UI.ToolTipPosition.BottomRight); |
} |
//]]> |
</script> |
<telerik:OpenAccessDataSource ID="OpenAccessDataSource1" runat="server" |
ObjectContextProvider="ProtelShop.ObjectScopeProvider1, ProtelShop" |
TypeName="ProtelAccess.Article" ContextTypeName="" OrderBy="" |
Where="MaxAnz > 0" > |
</telerik:OpenAccessDataSource> |
<telerik:RadSkinManager ID="RadSkinManager1" runat="server"> |
</telerik:RadSkinManager> |
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All"/> |
<asp:Panel ID="Panel2" runat="server" CssClass="title" > |
Seminar Angebote |
</asp:Panel> |
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" > |
<telerik:RadScheduler ID="RadScheduler1" runat="server" DataEndField="EndTime" |
DataKeyField="ArtNr" DataSourceID="OpenAccessDataSource1" |
DataStartField="StartTime" DataSubjectField="Name" HoursPanelTimeFormat="htt" |
ValidationGroup="RadScheduler1" ReadOnly="true" SelectedView="MonthView" Height="350"> |
</telerik:RadScheduler> |
<telerik:RadToolTipManager runat="server" ID="RadToolTipManager1" Width="320" Height="170" |
Animation="None" HideEvent="LeaveToolTip" Text="Loading..." |
OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" OnClientBeforeShow="clientBeforeShow" /> |
</telerik:RadAjaxPanel> |
<br /> |
<telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" > |
<br /> |
<asp:Panel ID="Panel1" runat="server" CssClass="title"> |
Warenkorb |
</asp:Panel> |
<telerik:RadGrid ID="RadGrid1" runat="server" AllowAutomaticDeletes="true" |
AllowAutomaticUpdates="true" AutoGenerateColumns="true" |
AutoGenerateDeleteColumn="true" OnDeleteCommand="RadGrid1_DeleteCommand" OnItemDataBound="RadGrid1_ItemDataBound" > |
<MasterTableView AutoGenerateColumns="False" RetrieveAllDataFields="false" ShowFooter="true"> |
<Columns> |
<telerik:GridBoundColumn DataField="ArtNr" HeaderText="Artikelnummer"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="Name" HeaderText="Artikelname"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="ArtName" HeaderText="Artikelbeschreibung"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="StartTime" HeaderText="Start"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="EndTime" HeaderText="Ende"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="Quantity" HeaderText="Anzahl"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="ArtPrice" HeaderText="Preis" DataFormatString="{0:C}"> |
</telerik:GridBoundColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
</telerik:RadAjaxPanel> |
<br /> |
<telerik:RadAjaxPanel ID="RadAjaxPanel3" runat="server" > |
<div style="text-align:right"> |
<asp:Button ID="Button1" runat="server" Text="Zur Kasse" onclick="Button1_Click" Width="100px" /> |
</div> |
</telerik:RadAjaxPanel> |
</asp:Content> |
private void btbuy_clicked(object sender, EventArgs e) |
{ |
AppointmentToolTip mytooltip = (AppointmentToolTip)sender; |
TempOrder myOrder = new TempOrder(); |
int ArtID = int.Parse(mytooltip.TargetAppointment.ID.ToString()); |
int ct = 0; |
for (int a = 0; a < myOrders.Count; a++) |
{ |
TempOrder to = (TempOrder)myOrders[a]; |
if (to.ArtNr == ArtID) |
ct++; |
} |
var articlesselected = from a in cashedScope.Extent<Article>() |
where a.ArtNr == ArtID |
select a; |
cashedScope.Transaction.Begin(); |
foreach (Article art in articlesselected) |
{ |
if (ct + 1 > art.MaxAnz) |
{ |
string scriptstring = "radalert('<h4>Dieser Artikel ist leider nicht mehr verfügbar!</h4>', 330, 210);"; |
ScriptManager.RegisterStartupScript(this, this.GetType(), "radalert", scriptstring, true); |
return; |
} |
myOrder.setArticle(1, art); |
} |
cashedScope.Transaction.Commit(); |
myOrders.Add(myOrder); |
Session["myOrders"] = myOrders; |
if (myOrders.Count > 0) |
{ |
Button1.Enabled = true; |
} |
TAmount += myOrder.ArtPrice; |
RadGrid1.Rebind(); |
} |
Thanks