1. On the page initialization, I am creating the Rad FIlter Component.
this.ComplexFilter = new RadFilter()
{
ID = "ComplexFilter",
AllowFilterOnBlur = true,
ShowApplyButton = false,
Skin = "Vista",
EnableViewState = false
};
this.ComplexFilter.ItemCommand += this.ComplexFilter_OnItemCommand;
this.ComplexFilterPanel.ContentTemplateContainer.Controls.Add(this.ComplexFilter);
fieldEditor.FieldName = column.JsName; // column is the list of items. This I am doing for every column list item.
fieldEditor.DisplayName = column.Name;
fieldEditor.DataType = column.Type;
this.ComplexFilter.FieldEditors.Add(fieldEditor);
var rootGroup = this.Settings.ComplexFilter_Expression;
if (rootGroup != null)
{
this.ComplexFilter.RootGroup.GroupOperation = rootGroup.GroupOperation;
foreach (var expression in rootGroup.Expressions)
{
this.ComplexFilter.RootGroup.AddExpression(expression);
}
}
this.ComplexFilter.PreRender += this.ComplexFilter_OnPreRender;
void ComplexFilter_OnUpdate(object sender, EventArgs args)
{
string previousComplexFilterSql;
string newComplexFilterSql;
if (this.Settings.ComplexFilter_Sql != null)
{
previousComplexFilterSql = this.Settings.ComplexFilter_Sql;
}
else
{
if (this.Settings.ComplexFilter_Expression != null)
{
previousComplexFilterSql = this.Settings.ComplexFilter_Expression.ToWhere(this.TablesTable).ToString();
}
else
{
previousComplexFilterSql = String.Empty;
}
}
if (this.Settings.ComplexFilter_Visible)
{
this.Settings.ComplexFilter_Expression = this.ComplexFilter.RootGroup;
newComplexFilterSql = this.Settings.ComplexFilter_Sql = this.Settings.ComplexFilter_Expression.ToWhere(this.TablesTable).ToString();
}
else
{
newComplexFilterSql = String.Empty;
}
this.ComplexFilter_ReloadData(previousComplexFilterSql, newComplexFilterSql);
ComplexFilter.RecreateControl();
}
2. After every 5 seconds Refresh timeout, I am checking for the complex filter saved settings. But due to the null value of ComplexFilter_Expression, settings could not be fetched from the database.
if (this.ComplexFilter_Visible && this.ComplexFilter_Expression != null)
{
where &= this.ComplexFilter_Expression.GetDBWhere(table, joins, out saveSettings);
}
else
{
saveSettings = false;
}
[WebMethod]
public
static
string
GetRows(
int
from,
int
len)
{
DataTable dt = MyEntity_BL.GetData();
//convert DataTable into Json string
System.Web.Script.Serialization.JavaScriptSerializer serializer =
new
System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<
string
,
object
>> rows =
new
List<Dictionary<
string
,
object
>>();
Dictionary<
string
,
object
> row =
null
;
foreach
(DataRow dr
in
dt.Rows)
{
row =
new
Dictionary<
string
,
object
>();
foreach
(DataColumn col
in
dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return
serializer.Serialize(rows);
}
function btnShowClientClick(clickedButton) {
PageMethods.GetRows(0, 0, Succsess);
}
function Succsess(result) {
var masterTable = $find("<%= grd.ClientID %>").get_masterTableView();
masterTable.set_dataSource(result);
masterTable.rebind();
}
How can I restrict start date and end date in Gantt?
I want user to be unable to insert/update start date before 1 month.
I need server side code.
Thanks
Hello
I've LinkButton in my RadComboBox ItemTemplate with CommandName OnCommand event and Command Argument for delete item if user clicking.
ComboBox populating with SqlDataSource.
When trying to click second item in ComboBox page postabacking but doesnt raise onclick or even oncommand event.
If clicking first item in ComboBox raising both of events but command argument is second items command argument.
Where is the mistake?
Thanks is advance.
I am using a RadGrid element and need to export CSV data from it. When I place a link outside of the RadGrid element, the export works fine:
<a title="Export" onserverclick="Export_CSV_Click" runat="server" class="icon-msexcelexport icon" href="#"></a>
<telerik:RadGrid ID="myGrid" runat="server" EnableViewState="false">
etc...
​
Now when I place that same link within the PagerTemplate, it no longer works and I get a javascript popup error.
<telerik:RadGrid ID="myGrid" runat="server" EnableViewState="false">
<MasterTableView
<PagerTemplate>
<a title="Export" onserverclick="Export_CSV_Click" runat="server" class="icon-msexcelexport icon" href="#"></a>
And the export method..
protected void Export_CSV_Click(object sender, System.EventArgs e)
{
myGrid.MasterTableView.ExportToCSV();
}
How would I get this button working from within the PagerTemplate?
RadDateTimePicker is not working after ajax call, only if rad datetimepicker is open time of response back from server. i am also attaching ASPX and CS code
Step to replicate.
Thanks,
ASPX
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestRadDateTimePickerPostBack._Default" %>
<%@ 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="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js"></asp:ScriptReference>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js"></asp:ScriptReference>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js"></asp:ScriptReference>
</Scripts>
</telerik:RadScriptManager>
<telerik:radajaxmanager id="RadAjaxManager1" runat="server"
onajaxrequest="RadAjaxManager1_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="panel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="panel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="panel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:radajaxmanager>
<script language="javascript" type="text/javascript">
<telerik:radscriptblock id="RadScriptBlock1" runat="server">
function InitiateAjaxRequest() {
var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
ajaxManager.ajaxRequest('RebindCard');
}
function Expensereport_PeriodFrom_OnDateSelected(sender, args) {
InitiateAjaxRequest();
}
function Expensereport_PeriodTo_OnDateSelected(sender, args) {
InitiateAjaxRequest();
}
</telerik:radscriptblock>
</script>
<asp:Panel ID="panel1" runat="server">
<div class="form-group form-group-sm">
<asp:Label runat="server" CssClass="control-label col-sm-3 " ID="lbl_Expensereport_PeriodFrom"
AssociatedControlID="Expensereport_PeriodFrom" Text="From"></asp:Label>
<div class="col-sm-3 col-md-3">
<telerik:raddatepicker id="Expensereport_PeriodFrom" runat="server" calendar-showrowheaders="false"
width="100%" cssclass="requiredText">
<DateInput EnableSingleInputRendering="false" DateFormat="MM/dd/yyyy" DisplayDateFormat="MM/dd/yyyy"
ReadOnly="true" SelectionOnFocus="CaretToBeginning" />
<DatePopupButton />
<ClientEvents OnDateSelected="Expensereport_PeriodFrom_OnDateSelected" />
</telerik:raddatepicker>
</div>
<asp:Label runat="server" CssClass="control-label col-sm-2 col-md-2 col-lg-1 " ID="lbl_Expensereport_PeriodTo"
AssociatedControlID="Expensereport_PeriodTo" Text="To"></asp:Label>
<div class="col-sm-3 col-md-3">
<telerik:raddatepicker id="Expensereport_PeriodTo" runat="server" width="100%" cssclass="requiredText"
calendar-showrowheaders="false">
<DateInput EnableSingleInputRendering="false" DateFormat="MM/dd/yyyy" DisplayDateFormat="MM/dd/yyyy"
ReadOnly="true" SelectionOnFocus="CaretToBeginning" />
<DatePopupButton ToolTip="" />
<ClientEvents OnDateSelected="Expensereport_PeriodTo_OnDateSelected" />
</telerik:raddatepicker>
</div>
<div class="clearBoth">
</div>
</div>
</asp:Panel>
</form>
</body>
</html>
C#
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
for (int i = 1000; i <= 1000; i++)
{
i++;
}
}
​
<
div
id
=
"grdDemo"
class
=
"RadGrid RadGrid_Office2007"
>
Jones</
td
><
td
>Martha</
td
>
</
tr
><
tr
class
=
"rgAltRow"
id
=
"grdDemo_ctl00__1"
>
<
td
>Noble</
td
><
td
>Donna</
td
>
</
tr
><
tr
class
=
"rgRow"
id
=
"grdDemo_ctl00__2"
>
<
td
>Smith</
td
><
td
>Jon</
td
>
</
tr
><
tr
class
=
"rgAltRow"
id
=
"grdDemo_ctl00__3"
>
<
td
>Tyler</
td
><
td
>Rose</
td
>
</
tr
>
</
tbody
>
</
table
><
input
id
=
"grdDemo_ClientState"
name
=
"grdDemo_ClientState"
type
=
"hidden"
/>
</
div
>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
><
asp:ScriptManager
ID
=
"smDefault"
runat
=
"server"
></
asp:ScriptManager
>
<
div
>
<
telerik:RadGrid
ID
=
"grdDemo"
runat
=
"server"
AutoGenerateColumns
=
"false"
>
<
ClientSettings
>
<
Resizing
AllowColumnResize
=
"true"
ResizeGridOnColumnResize
=
"true"
AllowResizeToFit
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
ItemType
=
"Contact"
>
<
Columns
>
<
telerik:GridTemplateColumn
HeaderText
=
"Last Name"
>
<
ItemTemplate
><%#: Item.LastName %></
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"First Name"
>
<
ItemTemplate
><%#: Item.FirstName %></
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
public
partial
class
_Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
List<Contact> contacts =
new
List<Contact>();
contacts.Add(
new
Contact() { LastName =
"Smith"
, FirstName =
"Jon"
});
contacts.Add(
new
Contact() { LastName =
"Tyler"
, FirstName =
"Rose"
});
contacts.Add(
new
Contact() { LastName =
"Jones"
, FirstName =
"Martha"
});
contacts.Add(
new
Contact() { LastName =
"Noble"
, FirstName =
"Donna"
});
var data = contacts.OrderBy(c => c.LastName).ThenBy(c => c.FirstName);
this
.grdDemo.DataSource = data;
this
.grdDemo.DataBind();
}
}
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
/// <summary>
/// Summary description for Contact
/// </summary>
public
class
Contact
{
public
Contact()
{
//
// TODO: Add constructor logic here
//
}
public
string
FirstName {
get
;
set
; }
public
string
LastName {
get
;
set
; }
}