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);
}
}