using System;using System.ComponentModel;using System.Data;using System.Globalization;using System.Web.UI;using System.Web.UI.WebControls;using Oracle.DataAccess.Client;using Parus.Core;using Telerik.Web.UI;namespace WebDesigner{ public partial class WebForm1 : Page { private RadGrid _grid; private GridView _grid2; protected override void OnInit(EventArgs e) { base.OnInit(e); this._grid = CreateGrid(); this.GridPlaceHolder.Controls.Add(this._grid); this._grid2 = CreateGrid2(); this.GridPlaceHolder.Controls.Add(this._grid2); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); RadAjaxManager.AjaxSettings.AddAjaxSetting(this._grid, this._grid); RadAjaxManager.AjaxSettings.AddAjaxSetting(this._grid2, this._grid2); //_grid.DataBind(); _grid2.DataBind(); } private static RadGrid CreateGrid() { var grid = new RadGrid { Width = new Unit(100, UnitType.Percentage), ID = "grid_test", Skin = "Windows7", PageSize = 10, AllowPaging = true, AutoGenerateColumns = false, GroupingEnabled = false, ShowGroupPanel = false, }; grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; grid.PagerStyle.AlwaysVisible = true; grid.NeedDataSource += Grid_NeedDataSource; grid.MasterTableView.Width = new Unit(100, UnitType.Percentage); grid.MasterTableView.PageSize = grid.PageSize; grid.MasterTableView.AllowPaging = grid.AllowPaging; grid.MasterTableView.PagerStyle.Mode = grid.PagerStyle.Mode; grid.MasterTableView.PagerStyle.AlwaysVisible = grid.PagerStyle.AlwaysVisible; grid.MasterTableView.AutoGenerateColumns = grid.AutoGenerateColumns; var gridColumn = new GridBoundColumn(); gridColumn.DataField = "NRN"; gridColumn.HeaderText = "Ident"; grid.MasterTableView.Columns.Add(gridColumn); gridColumn = new GridBoundColumn(); gridColumn.DataField = "SCODE"; gridColumn.HeaderText = "Caption"; grid.MasterTableView.Columns.Add(gridColumn); return grid; } private GridView CreateGrid2() { var grid = new GridView { Width = new Unit(100, UnitType.Percentage), ID = "grid_test2", PageSize = 10, AllowPaging = true, AutoGenerateColumns = false, DataSource = new MyDataSource(typeof(CustomDataProxy)) }; grid.PageIndexChanging += Grid2_PageIndexChanging; var gridColumn = new BoundField(); gridColumn.DataField = "NRN"; gridColumn.HeaderText = "Ident"; grid.Columns.Add(gridColumn); gridColumn = new BoundField(); gridColumn.DataField = "SCODE"; gridColumn.HeaderText = "Caption"; grid.Columns.Add(gridColumn); return grid; } private void Grid2_PageIndexChanging(object sender, GridViewPageEventArgs e) { this._grid2.PageIndex = e.NewPageIndex; this._grid2.DataBind(); } private static void Grid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { var grid = sender as RadGrid; grid.DataSource = new MyDataSource(typeof(CustomDataProxy)); } } #region MyObjectDataSource [DataObject] public class MyDataSource : ObjectDataSource { public MyDataSource(Type type) { this.DataProxy = type; TypeName = type.FullName; SelectCountMethod = "GetTotalRowsCount"; SelectMethod = "GetData"; EnablePaging = true; MaximumRowsParameterName = "maxRows"; StartRowIndexParameterName = "firstRow"; SortParameterName = "orderFields"; ObjectCreating += OnObjectCreating; } private Type DataProxy { get; set; } private void OnObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Activator.CreateInstance(DataProxy, new[] { "V_WEBTEST_CODE" }); } } #endregion #region Custom DataObject public class CustomDataProxy : BaseDataProxy { private readonly string _tableName; public CustomDataProxy(string tableName) { this._tableName = tableName; } public override string TableName { get { return this._tableName; } } } [DataObject] public abstract class BaseDataProxy { private const string CCountQuery = "select count(*) from {0}"; private const string CSelectTemplate = "select * from {0}"; private const string COrderTemplate = " order by {0}"; private const string CPagingQuery = "select * from (select rownum rownum#, T.* from ({0}) T) where rownum# between :StartRow and :EndRow"; abstract public string TableName { get; } public int GetTotalRowsCount() { using (var connection = Dispatcher.Instance.CreateConnection()) { var queryText = string.Format(CCountQuery, this.TableName); using (var query = new OracleCommand(queryText, connection) { CommandType = CommandType.Text }) { var result = query.ExecuteScalar(); return result != null ? Convert.ToInt32(result, CultureInfo.CurrentCulture) : 0; } } } [DataObjectMethod(DataObjectMethodType.Select, true)] public DataTable GetData(int firstRow, int maxRows, string orderFields) { using (var connection = Dispatcher.Instance.CreateConnection()) { var queryText = string.Format(CSelectTemplate, this.TableName); if (!string.IsNullOrEmpty(orderFields)) { queryText += string.Format(COrderTemplate, orderFields); } queryText = string.Format(CPagingQuery, queryText); var query = new OracleCommand(queryText, connection) { CommandType = CommandType.Text }; query.Parameters.Add(@"StartRow", firstRow + 1); query.Parameters.Add(@"EndRow", firstRow + maxRows); using (var a = new OracleDataAdapter(query)) { var dt = new DataTable { Locale = CultureInfo.CurrentCulture }; a.Fill(dt); return dt; } } } } #endregion}<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebDesigner.WebForm1" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager" runat="server"> </telerik:RadScriptManager> <asp:PlaceHolder ID="GridPlaceHolder" runat="server"></asp:PlaceHolder> <telerik:RadAjaxManager ID="RadAjaxManager" runat="server"> </telerik:RadAjaxManager> </form></body></html>private void LoadDockContent(RadDock dock){ System.Web.UI.Control ctrl = Page.LoadControl("PowerUsage.ascx"); dock.ContentContainer.Controls.Add(ctrl);}<script type="text/javascript"> function OnClientInitialize(dock, args) { var content = dock.get_contentContainer(); var control = $telerik.isIE ? content.childNodes[0].innerHTML : content.childNodes[1].innerHTML; alert(control); }</script><script type="text/javascript"> jQuery(function($) { $(window).wresize(SetPageChartSizes<%= Chart.ClientID %>); SetPageChartSizes<%= Chart.ClientID %>(); }); function SetPageChartSizes<%= Chart.ClientID %>() { document.getElementById('<%= hfChartWidth.ClientID %>').value = (document.getElementById('<%= updatePanel.ClientID %>').offsetWidth - 4); <%=Page.GetPostBackEventReference(btnHidden_Charts)%>; }</script>public partial class rcalendar : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void RadCalendar1_DayRender(object sender, Telerik.Web.UI.Calendar.DayRenderEventArgs e) { int ID = e.Day.Date.Day; if (ID == 3 || ID == 5 || ID == 14) { TableCell cell = e.Cell; cell.Attributes.Add("onclick", "ShowToolTip(this);"); cell.Attributes.Add("id", "Calendar_" + ID.ToString()); } } protected void RadToolTipManager1_AjaxUpdate(object sender, Telerik.Web.UI.ToolTipUpdateEventArgs e) { CalendarTT cdrTTobj = (CalendarTT)this.LoadControl("CalendarTT.ascx"); cdrTTobj.Dateid = int.Parse(e.Value); cdrTTobj.ID = Guid.NewGuid().ToString(); e.UpdatePanel.ContentTemplateContainer.Controls.Add(cdrTTobj); }}<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="rcalendar.aspx.cs" Inherits="CdrApp.rcalendar" %><%@ Register Src="CalendarTT.ascx" TagName="CalendarTT" TagPrefix="uc1" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <style type="text/css"> .RadCalendar .rcRow td { text-align: center !important; vertical-align: middle !important; width: 50px; }</style></head><body style="height: 462px"> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function ShowToolTip(sender) { var tooltipManager = $find("<%=RadToolTipManager1.ClientID %>"); //If the user hovers the image before the page has loaded, there is no manager created if (!tooltipManager) return; //Find the tooltip for this element if it has been created var tooltip = tooltipManager.getToolTipByElement(sender); //Create a tooltip if no tooltip exists for such element if (!tooltip) { tooltip = tooltipManager.createToolTip(sender); var longValue = sender.getAttribute("ID"); var neededValue = longValue.substring(longValue.indexOf('_') + 1) tooltip.set_value(neededValue); tooltip.show(); } } </script> </telerik:RadCodeBlock> <div> <telerik:RadCalendar ID="RadCalendar1" Runat="server" DayNameFormat="Full" EnableMultiSelect="False" Height="300px" SelectedDate="" TitleAlign="Center" ViewSelectorText="x" Width="300px" PresentationType="Preview" ShowRowHeaders="False" ondayrender="RadCalendar1_DayRender"> </telerik:RadCalendar> <telerik:RadToolTipManager ID="RadToolTipManager1" runat="server" onajaxupdate="RadToolTipManager1_AjaxUpdate" Animation="Fade" AutoCloseDelay="30000" EnableShadow="True" EnableTheming="True" HideEvent="LeaveTargetAndToolTip" ShowEvent="OnClick" BorderStyle="Outset" Position="Center"> </telerik:RadToolTipManager> </div> </form></body></html>
***
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
DefaultLoadingPanelID="RadAjaxLoadingPanel1">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadComboBox1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadComboBox1" />
<telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
***
<telerik:RadComboBox ID="RadComboBox1" Runat="server"
DataSourceID="SqlDataSource1" DataTextField="CustBill"
DataValueField="CustBill" Height="122px" Skin="Windows7" Width="319px">
<Items>
<telerik:RadComboBoxItem Text="All" Value="0" Selected="true" />
</Items>
</telerik:RadComboBox>
*** This SQL Data Source populates the combo box ***
<
asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:crmDashboardConnectionString %>"
SelectCommand="SELECT TOP (10) CustBill FROM crmSalesSuperior WHERE (CustBill IN (SELECT CustBill FROM crmSalesSuperior AS crmSalesSuperior_1 WHERE (Branch = 102))) GROUP BY CustBill ORDER BY CustBill">
</asp:SqlDataSource>
*** This is the Grid's SQL data source, calling a stored procedure with a parameter from combo box. ***
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:crmDashboardConnectionString %>"
SelectCommand="CRMDashboardSales" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter Name="CustBill" ControlID="RadComboBox1"
PropertyName="SelectedValue" Type="String"
DefaultValue="Power Equipment Co " />
</SelectParameters>
</asp:SqlDataSource>
| function openWindow() { |
| window.setTimeout(function() { |
| var oManager = GetRadWindowManager(); |
| var rdWin = oManager.open('<%=WindowURL%> ', 'rwVideoTutorial'); |
| rdWin.set_status('Video Tutorial <%=HelpVideoID %> '); |
| rdWin.set_behaviors(Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move); |
| rdWin.center; |
| rdWin.remove_resize; |
| rdWin.add_dragEnd(OnClientDragEnd); |
| rdWin.setSize(620, 430); |
| }, 1000); |
| } |
| function OnClientDragEnd(sender, eventArgs) { |
| var oManager = GetRadWindowManager(); |
| var oWnd = oManager.getWindowById(sender.get_id()); |
| oWnd.reload(); |
| } |
I am embeding a YouTube video on a page that is loaded by the RadWindow. In IE8 some strange things are happening. I added the OnClinetDragEnd in hopes that the content would reload, but it doesn't in IE8 unless I have IE8 in compatability mode. If hte winodw is draged in IE8 the audio cuts out fromt he video, so I thought I could jsut reload the content. Also, when the window closes and the video is still running, you can still hear the audio after the window is clsoed. I am not experiencing any of these issues with FireFox.
Ultimately, I would like the content to reload as it does in FireFox, but in FireFox I really don't need to reload the content, because even after the window is done being dragged the video plays from where it left off.
If I can;t get this to work IN IE8 like it does in FF, how can I set the window to be destroyed via Javascript? I have the window set to be destroyed in the ASPX code, but I guess, since I am openeing it via javascript that doesn't matter.
Daniel
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestToolTip.ascx.cs" Inherits="SU_SaleStatisticImport.TestToolTip" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="Telerik" %><%@ Register Src="ActivityDetails.ascx" TagName="ActivityDetails" TagPrefix="uc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:ScriptManager runat="server"> </asp:ScriptManager> <Telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> </Telerik:RadAjaxLoadingPanel> <Telerik:RadToolTipManager ID="RadToolTipManager1" OffsetY="-1" HideEvent="ManualClose" Width="250" Height="350" runat="server" EnableShadow="true" OnAjaxUpdate="OnAjaxUpdate" RelativeTo="Element" Position="MiddleRight"> </Telerik:RadToolTipManager> <Telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <Telerik:AjaxSetting AjaxControlID="rgCampaigns"> <UpdatedControls> <Telerik:AjaxUpdatedControl ControlID="rgCampaigns" LoadingPanelID="RadAjaxLoadingPanel1" /> <Telerik:AjaxUpdatedControl ControlID="RadToolTipManager1" /> </UpdatedControls> </Telerik:AjaxSetting> </AjaxSettings> </Telerik:RadAjaxManager> <Telerik:RadGrid ID="rgCampaigns" runat="server" OnItemDataBound="rgCampaigns_ItemDataBound" AutoGenerateColumns="false"> <MasterTableView runat="server" DataKeyNames="GlobalCode"> <Columns> <Telerik:GridTemplateColumn HeaderText="First"> <ItemTemplate> <asp:Label ID="lblTitle" runat="server" Text="Show ToolTip"></asp:Label> </ItemTemplate> </Telerik:GridTemplateColumn> <Telerik:GridBoundColumn DataField="SecondColumn" HeaderText="Second"> </Telerik:GridBoundColumn> </Columns> </MasterTableView> </Telerik:RadGrid> </form></body></html>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;namespace SU_SaleStatisticImport{ public partial class TestToolTip : System.Web.UI.UserControl { protected System.Data.DataTable GetData() { System.Data.DataTable tbl = new System.Data.DataTable(); tbl.Columns.Add(new System.Data.DataColumn("GlobalCode")); tbl.Columns.Add(new System.Data.DataColumn("SecondColumn")); tbl.Columns.Add(new System.Data.DataColumn("ThirdColumn")); tbl.Columns.Add(new System.Data.DataColumn("FourthColumn")); tbl.Rows.Add(new object[] { "firstRecord1", "firstRecord2", "firstRecord3", "firstRecord4" }); tbl.Rows.Add(new object[] { "secondRecord1", "secondRecord2", "secondRecord3", "secondRecord4" }); tbl.Rows.Add(new object[] { "thirdRecord1", "thirdRecord2", "thirdRecord3", "thirdRecord4" }); return tbl; } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { rgCampaigns.DataSource = GetData(); rgCampaigns.DataBind(); } } protected void OnAjaxUpdate(object sender, ToolTipUpdateEventArgs args) { this.UpdateToolTip(args.Value, args.UpdatePanel); } private void UpdateToolTip(string ActivityCode, UpdatePanel panel) { Control ctrl = Page.LoadControl("~/ActivityDetails.ascx"); panel.ContentTemplateContainer.Controls.Add(ctrl); ActivityDetails details = (ActivityDetails)ctrl; details.ActivityCode = ActivityCode; } protected void rgCampaigns_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem) { Control target = e.Item.FindControl("lblTitle"); if (!Object.Equals(target, null)) { if (!Object.Equals(this.RadToolTipManager1, null)) { //Add the button (target) id to the tooltip manager this.RadToolTipManager1.TargetControls.Add(target.ClientID, (e.Item as GridDataItem).GetDataKeyValue("GlobalCode").ToString(), true); } } } } }}<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ActivityDetails.ascx.cs" Inherits="SU_SaleStatisticImport.ActivityDetails" %><asp:label id="lbltest" runat="server" text="Label"></asp:label>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace SU_SaleStatisticImport{ public partial class ActivityDetails : System.Web.UI.UserControl { public string ActivityCode { get { if (ViewState["ActivityCode"] == null) { return ""; } return (string)ViewState["ActivityCode"]; } set { ViewState["ActivityCode"] = value; } } protected void Page_Load(object sender, EventArgs e) { lbltest.Text += "<br>Activity code: " + ActivityCode; } }}I diamically added 2 columns to the grid when page load, one GridHTMLEditorColumn is editable and another one is enabled=false, how I get both Radedit value (edited value and enabled=false's cell value) on InsertCommand and UpdateCommand?
On form load:
GridHTMLEditorColumn boundColumn = new GridHTMLEditorColumn();
// GridBoundColumn boundColumn = new GridBoundColumn();
this.rgLanguages.MasterTableView.Columns.Add(boundColumn);
// this.rgLanguages.MasterTableView.Columns.Add(cBox.Text);
boundColumn.DataField = cBox.Text;
boundColumn.HeaderText = cBox.Text;
boundColumn.UniqueName = cBox.Value;
rgLanguages_InsertCommand;:
I tried (editedItem["English"].Controls[0] as RadEditor).Text to get value, it only works for NONE dinamically creaded value, but not work for dinamically created column.
How I get both editeable value and enbaled =false's Radedit value here?Thank,
Jessie
:
protected void DatePicker_Load(object sender, EventArgs e){ RadDatePicker picker = sender as RadDatePicker; DateTime[] dates = controller.GetCustomerBaseDates(); picker.MinDate = dates.Min(); picker.MaxDate = dates.Max(); for (DateTime d1 = picker.MinDate; d1 <= picker.MaxDate; d1 = d1.AddDays(1)) { RadCalendarDay day; bool exists = dates.Contains(d1); day = new RadCalendarDay { Date = d1, IsSelectable = exists, IsDisabled = !exists }; day.ItemStyle.CssClass = exists ? "rcDataExists" : "rcDisabled"; picker.Calendar.SpecialDays.Add(day); }}