Hi ,
I need to display a grid with two headers where the top header gives the text and the bottom header displays a dropdownlist when auto generate Columns set to true.I have a checkbox column too.I need to display dropdowns on grid headers. Please help me out.
Thanks in advance
I need to display a grid with two headers where the top header gives the text and the bottom header displays a dropdownlist when auto generate Columns set to true.I have a checkbox column too.I need to display dropdowns on grid headers. Please help me out.
Thanks in advance
6 Answers, 1 is accepted
0

Shinu
Top achievements
Rank 2
answered on 26 May 2014, 06:19 AM
Hi,
You can try the below code snippet to add DropDownList in header:
C#:
Thanks,
Shinu
You can try the below code snippet to add DropDownList in header:
C#:
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridHeaderItem)
{
foreach
(GridColumn col
in
RadGrid1.Columns)
{
GridHeaderItem headerItem = (GridHeaderItem)e.Item;
DropDownList ddl =
new
DropDownList();
ddl.ID =
"ddl"
+ col.UniqueName;
ddl.DataSourceID =
"SqlDataSource1"
;
ddl.DataTextField = col.UniqueName;
ddl.DataValueField = col.UniqueName;
headerItem[col.UniqueName].Controls.Add(ddl);
}
}
}
Thanks,
Shinu
0

Vvamc
Top achievements
Rank 1
answered on 27 May 2014, 01:07 PM
Hi Shinu ,
I want it this way. One is a checkbox column the other with Autogeneratecolumns = true
I want it this way. One is a checkbox column the other with Autogeneratecolumns = true
0

Vvamc
Top achievements
Rank 1
answered on 27 May 2014, 01:13 PM
On Each Checkbox Click and select the dropdowns and click on apply button the row will be updated. I need to set the Dropdown for the headers dynamically and there should not be dropdown for checkbox column and others should have a dropdown.
0
Accepted

Shinu
Top achievements
Rank 2
answered on 28 May 2014, 05:36 AM
Hi,
I guess you want the DropDown in the FilterTemplate. You can try the following code snippet. On your button click, access these dropdown and do the necessary functions.
ASPX:
C#:
Thanks,
Shinu
I guess you want the DropDown in the FilterTemplate. You can try the following code snippet. On your button click, access these dropdown and do the necessary functions.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
AllowFilteringByColumn
=
"true"
OnPreRender
=
"RadGrid1_PreRender"
OnItemCreated
=
"RadGrid1_ItemCreated"
>
</
telerik:RadGrid
>
C#:
protected
void
RadGrid1_PreRender(
object
sender, EventArgs e)
{
foreach
(GridColumn col
in
RadGrid1.MasterTableView.AutoGeneratedColumns)
{
RadGrid1.MasterTableView.GetColumn(col.UniqueName).ShowFilterIcon =
false
;
RadGrid1.MasterTableView.GetColumn(col.UniqueName).AutoPostBackOnFilter =
true
;
}
RadGrid1.Rebind();
}
protected
void
RadGrid1_ItemCreated(
object
sender, GridItemEventArgs e)
{
DropDownList ddl;
if
(e.Item
is
GridFilteringItem)
{
GridFilteringItem filterItem = (GridFilteringItem)e.Item;
foreach
(GridColumn col
in
RadGrid1.MasterTableView.AutoGeneratedColumns)
{
if
(col.ColumnType !=
"GridCheckBoxColumn"
)
{
if
(col.ColumnType ==
"GridBoundColumn"
)
{
TextBox txtFilter = (TextBox)filterItem[col.UniqueName].Controls[0];
txtFilter.Visible =
false
;
ddl =
new
DropDownList();
ddl.ID =
"ddl"
+ col.UniqueName;
ddl.DataSourceID =
"SqlDataSource1"
;
ddl.DataTextField = col.UniqueName;
ddl.DataValueField = col.UniqueName;
filterItem[col.UniqueName].Controls.Add(ddl);
}
else
if
(col.ColumnType ==
"GridNumericColumn"
)
{
RadNumericTextBox txtFilter = (RadNumericTextBox)filterItem[col.UniqueName].Controls[0];
txtFilter.Visible =
false
;
ddl =
new
DropDownList();
ddl.ID =
"ddl"
+ col.UniqueName;
ddl.DataSourceID =
"SqlDataSource1"
;
ddl.DataTextField = col.UniqueName;
ddl.DataValueField = col.UniqueName;
filterItem[col.UniqueName].Controls.Add(ddl);
}
}
}
}
}
Thanks,
Shinu
0

Vvamc
Top achievements
Rank 1
answered on 28 May 2014, 02:58 PM
Thanks a lot shinu. If i want to update the values below so how can i find the control dropdownlist?
0

Shinu
Top achievements
Rank 2
answered on 29 May 2014, 04:39 AM
Hi,
I'm not sure where you want to access the DropDownList. below is a code snippet where I have accessed DropDownList in a buttons OnClick event.
C#:
Thanks,
Shinu
I'm not sure where you want to access the DropDownList. below is a code snippet where I have accessed DropDownList in a buttons OnClick event.
C#:
protected
void
btnApply_Click(
object
sender, EventArgs e)
{
foreach
(GridFilteringItem filterItem
in
RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem))
{
foreach
(GridColumn col
in
RadGrid1.MasterTableView.AutoGeneratedColumns)
{
//Access dropdowlist using its ID
DropDownList ddl = (DropDownList)filterItem.FindControl(
"ddl"
+ col.UniqueName);
//Gets the selected text
string
value = ddl.SelectedItem.Text;
}
}
}
Thanks,
Shinu