Using the code mentioned in your article here - http://docs.telerik.com/devtools/aspnet-ajax/controls/spreadsheet/client-side-programming/events/onclientchange
We have a simple aspx page with RadSpreadsheet object on it, along with the code mentioned in above article for onClientChange, but that never gets hit.
What are we missing?
Support,
OnClientEnded, i used this event to trigger a java script at the end of a Play.
Is there any way i could run a script at the end of video play.
If you have any example please share.
Thanks
Hi,
I will try to explain the scenario the best way possible. I hope you can help me.
I have a page which has one user control with filters. Those filters are displayed dynamically with some information we have stored in the database. Depending on what you select in those filters, the page has to load dynamically one or more user controls with the results (each one will have a radgrid). For example, if in the filter "department", you select the departments A, B, C and D, after clicking in "Submit", we have to create four different result user controls because each department has different columns to display. So having one non-dynamic user control with a radgrid is not an option. Also I have tried having a non-dynamic user control, but creating radgrids dynamically and the results wasn't good. I have to say that I have this scenario fully working with asp.net gridviews, but I need to have better performance and more functionality. This is the main reason of using this telerik control.
I don't have any problem loading the data, but with the radgrid events (sorting, paging), the whole page does a postback and the radgrids are not there.
I'm using advanced server side binding, but I have tried simple binding too with the same result.
- The relevant code in the page is. This is called when you select the filters and you click in "Submit":
01.
public
void
GetReports(List<ReportModel> reports)
02.
{
03.
int
count = 1;
04.
foreach
(ReportModel report
in
reports)
05.
{
06.
DataSet ds = ReportData.GetReportData(report);
// If there's no data, this function always return a dataset with one datable informing that there's no data available
07.
foreach
(DataTable dt
in
ds.Tables)
08.
{
09.
ReportResults control =
this
.LoadControl(
"~/Reports/Controls/ReportResults.ascx"
)
as
ReportResults;
10.
control.ID =
string
.Format(
"reportResults{0}"
, count);
11.
control.Data = data;
12.
this
.pnlResults.Controls.Add(control);
13.
}
14.
}
15.
}
- The client side code in the user control:
<
telerik:RadAjaxPanel
id
=
"pnlReport"
runat
=
"server"
cssclass
=
"panel-body nopadding"
style
=
"width: 100%; overflow: auto;"
>
<
telerik:radgrid
id
=
"radgrid"
runat
=
"server"
cssclass
=
"table table-striped table-hover"
borderstyle
=
"Solid"
autogeneratecolumns
=
"true"
allowpaging
=
"true"
allowsorting
=
"true"
rendermode
=
"Lightweight"
skin
=
"Bootstrap"
onneeddatasource
=
"radgrid_NeedDataSource"
>
<
pagerstyle
mode
=
"NextPrevNumericAndAdvanced"
/>
</
telerik:radgrid
>
</
telerik:RadAjaxPanel
>
- The server side code in the user control:
01.
public
DataTable Data
02.
{
03.
get
04.
{
05.
return
(DataTable)
this
.ViewState[
"Data"
];
06.
}
07.
set
08.
{
09.
this
.ViewState[
"Data"
] = value;
10.
}
11.
}
12.
13.
14.
protected
void
radgrid_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
15.
{
16.
(sender
as
RadGrid).DataSource =
this
.Data;
//I have already debugged the code and I have seen that this property has data and it's displayed when I click in "Submit"
17.
}
Thank you for your help.
in myDbSchedulerProvider (through webservice) > GetAppointments
I can set apt.Start , apt.Description , apt.ID , apt.Subject and those carry forward to the page.
apt.Subject = dr(
"Title"
)
apt.Start = DateTime.SpecifyKind(StartTime, DateTimeKind.Utc)
apt.Description = dr(
"Content"
)
apt.CssClass =
"mapping"
& dr(
"Category"
).replace(
";"
,
""
)
apt.ForeColor = Drawing.Color.Beige
apt.BackColor = Drawing.Color.Coral
apt.Attributes(
"class"
) =
"mapping"
& dr(
"Category"
).replace(
";"
,
""
)
but if I set any of these values, they do not carry forward.
apt.CssClass , apt.ForeColor , apt.BackColor , apt.Attributes("class")
in the click appointment javascript event I alert these values and they are blank or null
but as I said, if I alert the other ones they give correct values.
function
OnClientAppointmentClick(sender, args) {
alert(apt.get_start().format(
"MM/dd/yyyy HH:mm"
)) ;
//<-- good value
alert(apt.get_description());
//<-- good value
alert(apt.get_cssClass());
//<-- blank value
alert(apt.get_backColor());
//<-- null value
etc etc
<
style
type
=
"text/css"
>
div.RadToolBarDropDown .rtbWrap
{
line-height: 52px;
padding-left: 57px;
}
div.RadToolBarDropDown .rtbItemHovered,
div.RadToolBarDropDown .rtbItemFocused,
div.RadToolBarDropDown .rtbItemHovered .rtbWrap,
div.RadToolBarDropDown .rtbItemFocused .rtbWrap
{
background-image: none;
background-color: #8E8E8E;
}
</
style
>
<
telerik:RadToolBar
ID
=
"radToolBarMenu"
runat
=
"server"
Orientation
=
"Vertical"
>
<
Items
>
<
telerik:RadToolBarDropDown
runat
=
"server"
ImageUrl
=
"~/Images/NewReceipt.jpg"
Text
=
"Receipt"
>
<
Buttons
>
<
telerik:RadToolBarButton
runat
=
"server"
ImageUrl
=
"~/Images/ReceiptInternal.jpg"
NavigateUrl
=
"~/Internal.aspx"
Text
=
"Internal"
>
</
telerik:RadToolBarButton
>
<
telerik:RadToolBarButton
runat
=
"server"
ImageUrl
=
"~/Images/ReceiptExternal.jpg"
NavigateUrl
=
"~/External.aspx"
Text
=
"External"
>
</
telerik:RadToolBarButton
>
</
Buttons
>
</
telerik:RadToolBarDropDown
>
</
Items
>
</
telerik:RadToolBar
>
Hello there,
I have a requirement to validate that an expiration date is later than a hire date. Both dates are populated in a GridBoundColumn in a RadGrid. Bellow is the code for the two columns in my aspx page:
<telerik:GridBoundColumn ColumnEditorID="DateEditor" DataField="Hired" Visible="true" ReadOnly="false" HeaderText="Hired" UniqueName="gcHired" DataType="System.String" FilterControlAltText="Filter gcHired column"></telerik:GridBoundColumn>
<telerik:GridDateTimeColumn ColumnEditorID="DateEditor" MinDate="2017-01-01" MaxDate="2030-12-31" DataFormatString="{0:MM/dd/yyyy}" DataField="Expires" HeaderText="Expires" UniqueName="gcExpires" FilterControlAltText="Filter column column" AllowFiltering="False" AllowSorting="False" DataType="System.DateTime" ReadOnly="false">
<HeaderStyle Width="100px"></HeaderStyle>
</telerik:GridDateTimeColumn>
I am wondering if there is a straight forward way to achieve this. Thanks in advance!
UnhideGridEditAndDeleteColumnsAndFilterRow =
function
(sender, eventArgs) {
// I'm using js in a separate file so I can't use radcodeblock to get ClientID
var
gridName = sender.EventTarget.toString();
gridName = gridName.substring(0, gridName.indexOf(
"$ctl00"
));
var
masterTableView = $find(gridName).get_masterTableView();
if
(masterTableView.getColumnByUniqueName(
"EditCommandColumn"
) !=
null
&& masterTableView.getColumnByUniqueName(
"DeleteCommandColumn"
) !=
null
) {
masterTableView.showFilterItem();
masterTableView.showColumn(masterTableView.getColumnByUniqueName(
"EditCommandColumn"
).get_element().cellIndex);
masterTableView.showColumn(masterTableView.getColumnByUniqueName(
"DeleteCommandColumn"
).get_element().cellIndex);
}
};
When i use AlwaysVisible in PagerStyle for a RadGrid i can´t Access controls of the pager in databound.
<MastertableView PagerStyle-AlwaysVisible="true">
protected void grdListing_ItemDataBound( object sender, GridItemEventArgs e )
{
if (e.Item is GridPagerItem)
{
GridPagerItem pager = (GridPagerItem)e.Item;
Label lblGoToPageLabel = (Label)pager.FindControl("GoToPageLabel");
lblGoToPageLabel.Text = "mytext";
}
}
FindControls returns null.
if AlwaysVisible is false FindControl returns a value.
How can i Access controls if AlwaysVisible es true?
Thanks
Sergio Saiz