2017-12-04 1 views
-1

콤보 상자에서 datagrindview로 데이터를 가져 오려고하지만 프로그램을 실행하면 datagrindview가 비어 있습니다. 어떤 제안? 는콤보 상자에서 데이터 그램보기에 데이터 표시

private void fillCombo() 
 
     { 
 
       string query = "select DISTINCT FirstName,LastName from ActivityDataView"; 
 
       myConnection.Open(); 
 
       myCommand = new SqlCommand(query, myConnection); 
 
       myDataAdapter = new SqlDataAdapter(myCommand); 
 
       
 
       SqlDataReader dr = myCommand.ExecuteReader(); 
 
      
 
      while (dr.Read()) 
 
       { 
 
        string name = String.Format("{0} {1} ", dr["LastName"], dr["FirstName"]); 
 
        comboBox1.Items.Add(name);  
 
       } 
 
      dr.Close(); 
 
      
 
     
 
      myConnection.Close(); 
 

 
     } 
 
    
여기 이 콤보에 대한 funcion 당신을 감사

  private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 

      string query = "select * from ActivityDataView where LastName='" + comboBox1.SelectedValue + "'"; 

      myConnection.Open(); 
       myCommand = new SqlCommand(query, myConnection); 

       myDataAdapter = new SqlDataAdapter(myCommand); 
      DataSet myDataSet = new DataSet(); 

      myDataAdapter.Fill(myDataSet); 
      dataGridView1.DataSource = myDataSet.Tables[0]; 

      myConnection.Close(); 

     } 
+0

윈폼을 얻을 수있는 해결하기 위해? WebForms? 더 구체적이어야합니다. –

+0

그것은 WinForm입니다! – Mpmphs

+0

[편집] (https://stackoverflow.com/posts/47628723/edit) 질문; 댓글에서 질문을 변경하지 마십시오. –

답변

0
귀하의 형식은 명확하게 당신이 당신의 콤보 상자에 이름뿐만 아니라 LASTNAME을 선택하는 것을 말한다

:

string name = String.Format("{0} {1} ", dr["LastName"], dr["FirstName"]); 

하지만 DataGridView에 대한 데이터를 가져 오는 경우이 전체 문자열을 LastName 행과 비교해보십시오.

이 당신이 콤보 문자열을 분할하고 마지막 이름

string lastName = comboBox1.SelectedItem.ToString() 
       .Split(new string[] { " "}, StringSplitOptions.RemoveEmptyEntries).First(); 
+0

고마워요 !!! – Mpmphs

관련 문제