2016-03-17 37 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控件也應該綁定 –