xorpower
xorpower

Reputation: 18973

Insert checkbox column at the end of gridview

My GridView contains 20 columns which are added programmatically (DataTable, DataColumn, DataRow and DataSet). Now I need to insert a checkbox column as the last column (21st column). How should I add it?

I tried adding with the usual Template Field (from design tab) in .aspx file but that adds a checkbox as the first column and not as the last one.

Upvotes: 4

Views: 5467

Answers (2)

codeandcloud
codeandcloud

Reputation: 55210

If you are binding your GridView using a DataTable, do this before you set the GridView DataSource.

dataTable.Columns.Add("Select", Type.GetType("System.Boolean"));

DemoGrid.DataSource = dataTable;
DemoGrid.DataBind();

foreach (GridViewRow row in DemoGrid.Rows)
{
    //check box is the first control on the last cell.
    CheckBox check = row.Cells[row.Cells.Count - 1].Controls[0] as CheckBox;
    check.Enabled = true;
}

On an unrelated side note, please note that your asp:GridView is in fact AutoGenerated.

Upvotes: 2

Brian Mains
Brian Mains

Reputation: 50728

Create a TemplateField for the column with the check, and add the checkbox at the bottom as a footertemplate, and turn on showing the footer via GridView.ShowFooter = true; A footer is a great place to put commonly available controls like this.

The common trick, if the footer is not an option, is to bind an empty row of data to the UI, which will have the checkbox.

HTH.

Upvotes: 0

Related Questions