2016-03-17 34 views
0

即时编辑语言知道gridview中的复选框我有字符串值英语,西班牙语。同时单击编辑按钮应选择复选框列表项目。无法绑定以逗号分隔的字符串值到复选框列表

我想获得gridview行列的细节,并希望绑定在一个checkboxlist。我已经绑定了所有语言复选框。我需要使选中的复选框处于选定状态。

gridview的

 <asp:TemplateField HeaderText="Languages"> 
           <EditItemTemplate> 
            <asp:TextBox ID="txtLanguages" runat="server" Text='<%# Bind("Languages") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="LblLanguages" runat="server" Text='<%# Bind("Languages") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
      private void bindLanguages() 
        { 

         string Languages = "English,Spanish"; 
         using (SqlConnection conn = new SqlConnection()) 
         { 
          conn.ConnectionString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 
          using (SqlCommand cmd = new SqlCommand()) 
          { 
           cmd.CommandText = "select * from tbl_Languages"; 
           cmd.Connection = conn; 
           conn.Open(); 
           using (SqlDataReader sdr = cmd.ExecuteReader()) 
           { 
            while (sdr.Read()) 
            { 
             ListItem item = new ListItem(); 
             item.Text = sdr["LanguageName"].ToString(); 
             item.Value = sdr["LanguageId"].ToString(); 
             // item.Selected = Convert.ToBoolean(sdr["IsSelected"]); 
             chkLanguages.Items.Add(item); 
            } 
           } 
           conn.Close(); 
          } 
         } 
        } 
    public void Bindemployeedetails(string str) 
      { 
       DataTable dt = new DataTable(); 
       string Languages = dt.Rows[0]["Languages"].ToString();//English,Hindi 

string[] words = Languages.Split(','); 
      foreach (string word in words) 
      { 

       foreach (GridViewRow row in ChkLanguages.Items) 
       { 
        if (row.Cells[1].Text == word) 
        { 
         CheckBox chkRow = word.ToString(); 
         chkRow.Checked = true; 
        } 
       } 
      } 

      } 
+0

您需要添加更多代码:GridView的外观如何?假设你的GridView每行都有这些复选框,你怎么定义'chkLanguages'? –

回答

0

也许与分裂试试?

 string[] words = Languages.Split(','); 
     foreach (string word in words) 
     { 
      foreach (GridViewRow row in gdvHealthProblem.Rows) 
      { 
       if (row.Cells[1].Text == word) 
       { 
        CheckBox chkRow = row.Cells[0].FindControl("chkTableHealthProblem") as CheckBox; 
        chkRow.Checked = true; 
       } 
      } 
     } 
+0

我不想在网格视图中编辑。同时点击gridview编辑按钮即时重定向到另一个页面。并通过qhery字符串im绑定所有控件。我希望checkboxlist控件也应该绑定 –