Hi Viktor.
Thank you for replying back. i have created the grid succesfully but im having some issues with it. I have added GridClientSelectColumn to select a row or all rows. When i select s single row its working fine but when i try to select all rows from header checkbox, it gives me a script error
Unhandled exception at line 18, column 1 in script block
0x800a138f - JavaScript runtime error: Unable to get property '_selectAllRows' of undefined or null reference
can you please help? Also i need to catch the checkbox check/uncheck triggering event? how can i define that?
regards,
Sara
public void GetResultsByRequester()
{
dtResultTypes = new DataTable();
dtResultTypes = _clsActivity.GetResultTypes();
DataTable dt = new DataTable();
dt = _clsActivity.GetResultsByRequester();
grid = new RadGrid();
grid.AllowPaging = true;
grid.AutoGenerateEditColumn = true;
grid.AutoGenerateColumns = false;
grid.PageSize = 20;
grid.EnableEmbeddedSkins = true;
grid.AllowSorting = false;
grid.AllowFilteringByColumn = false;
grid.RenderMode = Telerik.Web.UI.RenderMode.Lightweight;
grid.AllowMultiRowSelection = true;
grid.ClientSettings.Selecting.AllowRowSelect = true;
grid.ClientSettings.Selecting.EnableDragToSelectRows = true;
grid.ItemDataBound += new GridItemEventHandler(grid_onItemDataBound);
grid.DataSource = dt;
GridClientSelectColumn objGridClientSelectColumn = new GridClientSelectColumn();
objGridClientSelectColumn.UniqueName = "chkDeleteMP11";
grid.MasterTableView.Columns.Add(objGridClientSelectColumn);
GridTemplateColumn templateColumn = new GridTemplateColumn();
templateColumn.HeaderText = "";
templateColumn.UniqueName = "tempcolRemove";
templateColumn.ItemTemplate = new MyTemplate("imgbtnRemove", "imgCross.gif");
grid.MasterTableView.Columns.Add(templateColumn);
GridBoundColumn boundColumn1 = new GridBoundColumn();
boundColumn1.DataField = "PatientNo";
boundColumn1.UniqueName = "PatientNo";
boundColumn1.HeaderText = "PatientNo";
boundColumn1.SortExpression = "PatientNo";
GridBoundColumn boundColumn2 = new GridBoundColumn();
boundColumn2.DataField = "Sname";
boundColumn2.UniqueName = "Sname";
boundColumn2.HeaderText = "Surname";
boundColumn2.SortExpression = "Sname";
GridBoundColumn boundColumn3 = new GridBoundColumn();
boundColumn3.DataField = "Fname1";
boundColumn3.UniqueName = "Fname1";
boundColumn3.HeaderText = "Forename";
boundColumn3.SortExpression = "Fname1";
GridBoundColumn boundColumn4 = new GridBoundColumn();
boundColumn4.DataField = "Clinic";
boundColumn4.UniqueName = "Clinic";
boundColumn4.HeaderText = "Clinic";
boundColumn4.SortExpression = "Clinic";
GridBoundColumn boundColumn5 = new GridBoundColumn();
boundColumn5.DataField = "Consultantid";
boundColumn5.UniqueName = "Consultantid";
boundColumn5.HeaderText = "Consultantid";
boundColumn5.SortExpression = "Consultant";
GridBoundColumn boundColumn6 = new GridBoundColumn();
boundColumn6.DataField = "SeenBy";
boundColumn6.UniqueName = "SeenBy";
boundColumn6.HeaderText = "SeenBy";
boundColumn6.SortExpression = "SeenBy";
GridBoundColumn boundColumn7 = new GridBoundColumn();
boundColumn7.DataField = "TDate";
boundColumn7.UniqueName = "TDate";
boundColumn7.HeaderText = "Tracking Started";
boundColumn7.SortExpression = "TDate";
grid.MasterTableView.Columns.Add(boundColumn1);
grid.MasterTableView.Columns.Add(boundColumn2);
grid.MasterTableView.Columns.Add(boundColumn3);
grid.MasterTableView.Columns.Add(boundColumn4);
grid.MasterTableView.Columns.Add(boundColumn5);
grid.MasterTableView.Columns.Add(boundColumn6);
grid.MasterTableView.Columns.Add(boundColumn7);
for (int i = 0; i < dtResultTypes.Rows.Count; i++)
{
GridTemplateColumn templateColumn1 = new GridTemplateColumn();
templateColumn1.HeaderText = (String)dtResultTypes.Rows[i][0];
templateColumn1.DataField = (String)dtResultTypes.Rows[i][0];
templateColumn1.UniqueName = (String)dtResultTypes.Rows[i][0];
templateColumn1.SortExpression = (String)dtResultTypes.Rows[i][0];
templateColumn1.ItemTemplate = new MyTemplate(dtResultTypes.Rows[i][0].ToString(), string.Empty);
grid.MasterTableView.Columns.Add(templateColumn1);
}
grid.DataBind();
grid.AllowPaging = true;
grid.PageSize = 10;
phAllmyActivity.Controls.Add(grid);
}
public class MyTemplate : ITemplate
{
ImageButton imageButton;
string imgbtnID = string.Empty;
string imageUrl = string.Empty;
public MyTemplate(string btnID, string imageurl)
{
imgbtnID = btnID;
imageUrl = imageurl;
}
public void InstantiateIn(Control container)
{
if (!String.IsNullOrEmpty(imgbtnID))
{
imageButton = new ImageButton();
imageButton.ID = imgbtnID;
if (!String.IsNullOrEmpty(imageUrl))
{
imageButton.ImageUrl = "~/Images/" + imageUrl;
imageButton.ToolTip = "Cease tracking";
}
container.Controls.Add(imageButton);
}
}
}