2017-07-26 75 views
0

我有一个GridView显示Approvers列表。如下图所示。如果列中有多个Approvers,我需要显示复选框。可能吗?如果是,那我该如何实现呢?如何在GridView中创建动态CheckBoxes?

enter image description here

E.g的Approvers部分有多个审批名称的第一行,为此,我应该表现出的CheckBox在

网格中显示的数据可用于DataTable,并且多个Approvers是单行的一部分,因此我不能使用TemplateField并显示CheckBoxes。

+0

我想你需要详细说明如何生成GridView。 – VDWWD

+0

@VDWWD网格绑定到DataTable,它具有完全相同格式的所有信息。我只为业务部门专栏进行了分组。审批者的名字是;分隔。 – Ishan

+0

你的gridview代码在哪里 – AsifAli72090

回答

0

下面是解决方案。我可以通过方法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++; 
        } 
       } 

      } 
     }