Hi Marin Bratanov,
Thanks for your suggestion and comments. But I dont know why it is not working in my side. The only difference is I am creating the grid dynamically. And I am using the telerik dll verion "RadControls for ASP.NET AJAX Q1 2013"
Placing my sample code for your referenc;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
namespace TelSample
{
public partial class TelSample : System.Web.UI.Page
{
RadGrid RadGrid1;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_Init(object sender, EventArgs e)
{
RadGrid1 = new RadGrid();
RadGrid1.AutoGenerateColumns = false;
createColumn();
RadGrid1.DataSource = createDataTable();
RadGrid1.AllowFilteringByColumn = true;
RadGrid1.NeedDataSource += RadGrid1_NeedDataSource;
RadGrid1.PreRender += RadGrid1_PreRender;
RadGrid1.ItemCreated += RadGrid1_ItemCreated;
//RadGrid1.DataBind();
ScrPlaceHldr.Controls.Add(RadGrid1);
}
void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridFilteringItem)
{
DateTime dtMinVal = new DateTime(0001, 01, 01, 00, 00, 00);
DateTime dtMaxVal = new DateTime(9999, 12, 31, 23, 59, 59);
GridFilteringItem fitem = (GridFilteringItem)e.Item;
foreach (GridColumn col in RadGrid1.MasterTableView.RenderColumns)
{
if (col.ColumnType == "GridDateTimeColumn")
{
RadDatePicker rp = (RadDatePicker)fitem[col.UniqueName].Controls[1];
RadDatePicker rp2 = (RadDatePicker)fitem[col.UniqueName].Controls[4];
if (null != rp)
{
rp.MinDate = dtMinVal;
rp.MaxDate = dtMaxVal;
}
if (null != rp2)
{
rp2.MinDate = dtMinVal;
rp2.MaxDate = dtMaxVal;
}
}
}
}
}
void RadGrid1_PreRender(object sender, EventArgs e)
{
//foreach (GridItem item in RadGrid1.MasterTableView.Items)
//{
// if (item is GridEditableItem)
// {
// GridEditableItem editableItem = item as GridDataItem;
// editableItem.Edit = true;
// }
//}
//RadGrid1.Rebind();
}
void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = createDataTable();
}
void createColumn()
{
GridBoundColumn boundColumn;
boundColumn = new GridBoundColumn();
boundColumn.DataField = "Name";
boundColumn.HeaderText = "Name";
boundColumn.UniqueName = "Name";
boundColumn.HeaderStyle.Width = Unit.Pixel(100);
boundColumn.FilterControlWidth = Unit.Pixel(80);
boundColumn.AllowFiltering = true;
RadGrid1.MasterTableView.Columns.Add(boundColumn);
DateTime dtMinVal = new DateTime(0001, 01, 01, 00, 00, 00);
DateTime dtMaxVal = new DateTime(9999, 12, 31, 23, 59, 59);
GridDateTimeColumn boundtimeColumn;
boundtimeColumn = new GridDateTimeColumn();
boundtimeColumn.DataField = "Date";
boundtimeColumn.HeaderText = "Date";
boundtimeColumn.UniqueName = "Date";
boundtimeColumn.EnableRangeFiltering = true;
boundtimeColumn.DataFormatString = "{0:dd/M/yyyy}";
boundtimeColumn.HeaderStyle.Width = Unit.Pixel(100);
boundtimeColumn.AllowFiltering = true;
boundtimeColumn.MinDate = dtMinVal;
boundtimeColumn.MaxDate = dtMaxVal;
RadGrid1.MasterTableView.Columns.Add(boundtimeColumn);
}
private DataTable createDataTable()
{
DataTable dt = new DataTable();
String strHeader = ("Name,Date");
String strDataType = ("System.String,System.DateTime");
String strData = ("Ram,01/05/2002 ,Ram1,01/05/2009,Ram2,01/09/2008");
int nLength = strHeader.Split(',').Length - 1;
int nLengthofData = strData.Split(',').Length - 1;
String[] strHeaderArray = strHeader.Split(',');
String[] strDataTypeArray = strDataType.Split(',');
String[] strDataArray = strData.Split(',');
for (int nStart = 0; nStart <= nLength; nStart++)
{
DataColumn columnString = new DataColumn(strHeaderArray[nStart]);
columnString.DataType = System.Type.GetType(strDataTypeArray[nStart]);
dt.Columns.Add(columnString);
}
for (int nDataStart = 0; nDataStart < nLengthofData; nDataStart = nDataStart + nLength + 1)
{
object[] array = new object[nLength + 1];
for (int nStart = 0; nStart <= nLength; nStart++)
{
array[nStart] = strDataArray[nDataStart + nStart];
}
dt.Rows.Add(array);
}
return dt;
}
}
}
here is the aspx file also
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:PlaceHolder runat="server" ID="ScrPlaceHldr"></asp:PlaceHolder>
</div>
</form>
</body>
</html>
Regards,
Ramesh.