Hello Everyone,
I am new to Rad Grid and want to put DateTimePicker in a Column which has data type Datetime.
However when I specify AutoGenerateColumns="True" at that time DateTimePicker is generated in Column Filter.
But when I doing AutoGenerateColumns="False" and Generate Columns in Page_Load Event at that time all code is same
but instead of DateTimePicker TextBox is generated.
So anyone can help me how to enable DateTimePicker for Filter Column when I generate columns in code behind ?
However I have also specify DataType property when I am adding columns to Grid.
Here is code that I am using.I have declared grid in ASPX Page and just want to describe structure from code behind.
I am new to Rad Grid and want to put DateTimePicker in a Column which has data type Datetime.
However when I specify AutoGenerateColumns="True" at that time DateTimePicker is generated in Column Filter.
But when I doing AutoGenerateColumns="False" and Generate Columns in Page_Load Event at that time all code is same
but instead of DateTimePicker TextBox is generated.
So anyone can help me how to enable DateTimePicker for Filter Column when I generate columns in code behind ?
However I have also specify DataType property when I am adding columns to Grid.
Here is code that I am using.I have declared grid in ASPX Page and just want to describe structure from code behind.
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
AddColumns();
ViewState[
"DataSet"
] = GetData();
}
}
private
void
AddColumns()
{
GridBoundColumn colCustomerID =
new
GridBoundColumn();
GridBoundColumn colBirthDate =
new
GridBoundColumn();
GridBoundColumn colName =
new
GridBoundColumn();
GridBoundColumn colAddress =
new
GridBoundColumn();
GridBoundColumn colPhone =
new
GridBoundColumn();
GridBoundColumn colSalary =
new
GridBoundColumn();
GridBoundColumn colBoolTest =
new
GridBoundColumn();
rgDemo.Columns.Add(colCustomerID);
rgDemo.Columns.Add(colBirthDate);
rgDemo.Columns.Add(colName);
rgDemo.Columns.Add(colAddress);
rgDemo.Columns.Add(colPhone);
rgDemo.Columns.Add(colSalary);
rgDemo.Columns.Add(colBoolTest);
colCustomerID.DataField =
"EmployeeID"
;
colCustomerID.HeaderText =
"EmployeeID"
;
colCustomerID.UniqueName =
"EmployeeID"
;
colBirthDate.DataField =
"BirthDate"
;
colBirthDate.HeaderText =
"BirthDate"
;
colBirthDate.DataType = Type.GetType(
"System.DateTime"
);
colBirthDate.AllowFiltering =
true
;
colBirthDate.UniqueName =
"BirthDate"
;
colBirthDate.DataFormatString =
"{0:MM/dd/yyyy}"
;
colName.DataField =
"Name"
;
colName.HeaderText =
"Name"
;
colName.UniqueName =
"Name"
;
colAddress.DataField =
"Address"
;
colAddress.HeaderText =
"Address"
;
colAddress.UniqueName =
"Address"
;
colPhone.DataField =
"Phone"
;
colPhone.HeaderText =
"Phone"
;
colPhone.UniqueName =
"Phone"
;
colSalary.DataField =
"Salary"
;
colSalary.HeaderText =
"Salary"
;
colSalary.UniqueName =
"Salary"
;
colBoolTest.DataField =
"BoolTest"
;
colBoolTest.HeaderText =
"BoolTest"
;
colBoolTest.DataType =
typeof
(Boolean);
}
private
DataSet GetData()
{
DataSet _dsData =
new
DataSet();
DataTable _dtData =
new
DataTable(
"Employee"
);
DataColumn _dc1 =
new
DataColumn(
"EmployeeID"
,
typeof
(
string
));
DataColumn _dc2 =
new
DataColumn(
"BirthDate"
,
typeof
(DateTime));
DataColumn _dc3 =
new
DataColumn(
"Name"
,
typeof
(
string
));
DataColumn _dc4 =
new
DataColumn(
"Address"
,
typeof
(
string
));
DataColumn _dc5 =
new
DataColumn(
"Phone"
,
typeof
(
string
));
DataColumn _dc6 =
new
DataColumn(
"Salary"
,
typeof
(
int
));
DataColumn _dc7 =
new
DataColumn(
"BoolTest"
,
typeof
(
int
));
_dtData.Columns.Add(_dc1);
_dtData.Columns.Add(_dc3);
_dtData.Columns.Add(_dc2);
_dtData.Columns.Add(_dc4);
_dtData.Columns.Add(_dc5);
_dtData.Columns.Add(_dc6);
_dtData.Columns.Add(_dc7);
for
(
int
i = 0; i < 20; i++)
{
string
index = Convert.ToString(i + 1);
DataRow dr = _dtData.NewRow();
dr[
"EmployeeID"
] =
"E000"
+ index;
dr[
"Name"
] =
"Employee "
+ index;
dr[
"Address"
] =
"Address "
+ index;
dr[
"Phone"
] =
"123-56789"
;
dr[
"Salary"
] = Convert.ToString((i + 1) * 1000);
dr[
"BirthDate"
] = DateTime.Now.AddDays(i + 1);
dr[
"BoolTest"
] = (i % 2) == 0 ?
true
:
false
;
_dtData.Rows.Add(dr);
}
_dsData.Tables.Add(_dtData);
return
_dsData;
}
protected
void
rgDemo_OnNeedDataSource(
object
source, GridNeedDataSourceEventArgs e)
{
//Write code to get data in DataSet ds
DataSet _ds = (DataSet)ViewState[
"DataSet"
];
rgDemo.VirtualItemCount = _ds.Tables[0].Rows.Count;
rgDemo.DataSource = _ds;
}