2012-08-01 92 views
-1

我在表單中有一個Radgrid和RadCombobox。在一個函數中,我打電話給一個forloop。在那forloop我使用Rebind事件的網格。在循環中,第一次從Needdatasource事件發生後的第二次NeedDataSource事件發生,RadGrid - 重新綁定

當Combobox文本更改時,網格應該去NeedDataSource事件。 Plz的幫助。

for (int a = 0; a < EmpCodecmb.Items.Count; a++) 
     {    
      EmpCodecmb.Text = EmpCodecmb.Items[a].Text; 
      EmpCodecmb.SelectedValue = EmpCodecmb.Items[a].Value; 

     SqlCommand cmd1 = new SqlCommand(); 
     con.Open(); 
     cmd1.Connection = con; 
     cmd1.CommandType = CommandType.StoredProcedure; 
     cmd1.Parameters.Clear(); 
     cmd1.CommandText = "get_EmpLeaveDetails"; 
     cmd1.Parameters.AddWithValue("@EmployeeID", EmpCodecmb.SelectedValue); 
     cmd1.Parameters.AddWithValue("@SelectedMonth", commonDatetime); 
     SqlDataReader sdp1 = cmd1.ExecuteReader(); 
     while (sdp1.Read()) 
     { 
      CLtxt.Text = sdp1["CL"].ToString(); 
      ELtxt.Text = sdp1["EL"].ToString(); 
      LOPtxt.Text = sdp1["LOP"].ToString(); 
     } 
     con.Close(); 

     Grid1.Rebind(); 
     Grid2.Rebind(); 

     Insert_f1(); 
     Insert_f2(); 
    }` 
+0

使用重新綁定方法在for循環中不是一個好方法,你應該讓你的代碼更高效。 – yogi 2012-08-01 09:27:30

+0

任何想法,PLZ ?? – SuganR 2012-08-01 09:28:38

+0

如果你可以在For循環之前創建一個DataTable並使用DataTable..Rows.Add()添加行,然後執行Bind – 2012-08-01 09:36:03

回答