Dynamic Template Column Sorting in DataGrid control

V

Vishal

Hi,

am facing a problem while using ASP.NET Datagrid Template Columns
generated dynamically.

Scenario:
-------------

1) I have a custom datagrid control class (inheriting from
System.Web.UI.WebControls.DataGrid).
In the constructor of this class i dynamically register the
OnSortCommand for the grid.

2) I have another custom CustomHeaderTemplate class inheriting from
ITemplate, which we are using to customize the header
column template for our custom DataGrid control.

3) In the BindData event of this class, am adding a LinkButton an
set the properties as follows.

---
DataGridItem container = (DataGridItem) pnl.NamingContainer;
LinkButton lb = new LinkButton();
lb.Text = "Employee Name";
lb.CommandName = "sort";
lb.CommandArgument = "EmpName"; //Name of the Column in the grid
DataSource
container.Controls.Add(tb);
---

4) In the aspx page containing the grid, set the HeaderTemplate of the
grid to this custom class

DataGridObject.HeaderTemplate = new CustomHeaderTemplate ();

5) The Link buttons appear fine in the column header, but when
clicked,
the OnSortCommand command of my custom datagrid does not fire.

Could anyone please let know what else needs to be done in order for
the Sort Command to fire in the case of dynamic DataGrid Template
Columns?

Thanks in advance.

Cheers,
Vishal Makhija
 
J

John Saunders

Vishal said:
Hi,

am facing a problem while using ASP.NET Datagrid Template Columns
generated dynamically.

Scenario:
-------------

1) I have a custom datagrid control class (inheriting from
System.Web.UI.WebControls.DataGrid).
In the constructor of this class i dynamically register the
OnSortCommand for the grid.

2) I have another custom CustomHeaderTemplate class inheriting from
ITemplate, which we are using to customize the header
column template for our custom DataGrid control.

3) In the BindData event of this class, am adding a LinkButton an
set the properties as follows.

---
DataGridItem container = (DataGridItem) pnl.NamingContainer;
LinkButton lb = new LinkButton();
lb.Text = "Employee Name";
lb.CommandName = "sort";
lb.CommandArgument = "EmpName"; //Name of the Column in the grid
DataSource
container.Controls.Add(tb);
---

4) In the aspx page containing the grid, set the HeaderTemplate of the
grid to this custom class

DataGridObject.HeaderTemplate = new CustomHeaderTemplate ();

5) The Link buttons appear fine in the column header, but when
clicked,
the OnSortCommand command of my custom datagrid does not fire.

Could anyone please let know what else needs to be done in order for
the Sort Command to fire in the case of dynamic DataGrid Template
Columns?

Does the ItemCommand event fire? If so, check in the ItemCommand event for
CommandName == "sort" and then fire the SortCommand event yourself.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top