CheckBoxField, вероятно, будет хотеть значение для свойства DataField.Это должно соответствовать именам столбцов или псевдонимам в вашем запросе.(Я не думаю, что флажок будет работать с результатами чисел.)
Отредактировано: не понял, что вы пытались сделать.Поле шаблона и обычный флажок должны приблизить вас к тому, что вы хотите.Примерно так?
например
const int ColumnSelect = 0;
protected void Page_Load(object sender, EventArgs e)
{
//Get real data here.
DataTable dt = new DataTable();
dt.Columns.Add("count");
dt.Rows.Add(dt.NewRow());
dt.Rows[0][0] = "5";
GridView1.Columns.Add(new TemplateField());
BoundField b = new BoundField();
GridView1.Columns.Add(b);
b.DataField = "count";
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.Header)
{
e.Row.Cells[ColumnSelect].Controls.Add(new CheckBox());
}
}
Правка №2: что касается получения значения, вы, безусловно, можете это сделать.Вы ищете Javascript или серверное решение?Вот простой пример для серверной стороны, если вы нажали кнопку:
protected void Button1_Click(object sender, EventArgs e)
{
foreach(GridViewRow row in GridView1.Rows)
{
//Could also use (CheckBox)row.Cells[ColumnSelect].FindControl if you give the checkboxes IDs when generating them.
CheckBox cb = (CheckBox)row.Cells[ColumnSelect].Controls[0];
if (cb.Checked)
{
//Do something here.
}
}
}