如何在GridView中创建动态CheckBoxes?
问题描述:
我有一个GridView
显示Approvers
列表。如下图所示。如果列中有多个Approvers
,我需要显示复选框。可能吗?如果是,那我该如何实现呢?如何在GridView中创建动态CheckBoxes?
E.g的Approvers
部分有多个审批名称的第一行,为此,我应该表现出的CheckBox在。
网格中显示的数据可用于DataTable
,并且多个Approvers
是单行的一部分,因此我不能使用TemplateField
并显示CheckBoxes。
答
下面是解决方案。我可以通过方法OnRowDataBound()
来实现。不知道这是否是最好的方法。
protected void grdApproverDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string ApproverName = ((Label)e.Row.Cells[2].FindControl("lblANgrd")).Text;
string[] approvers = ApproverName.Split(';');
if (approvers.Count() > 1)
{
((Label)e.Row.Cells[2].FindControl("lblANgrd")).Text = "";
int i = 0;
foreach (var item in approvers)
{
CheckBox ckb = new CheckBox();
ckb.Text = item;
ckb.ID = i.ToString();
ckb.ID = "approvernamesdynamic_"+i.ToString();
ckb.Checked = true;
e.Row.Cells[2].Controls.Add(ckb);
i++;
}
}
}
}
我想你需要详细说明如何生成GridView。 – VDWWD
@VDWWD网格绑定到DataTable,它具有完全相同格式的所有信息。我只为业务部门专栏进行了分组。审批者的名字是;分隔。 – Ishan
你的gridview代码在哪里 – AsifAli72090