2011-11-16 6 views
0

MySQL 데이터베이스에서 데이터를 채울 수 있지만, 나는 내가 MySQL의 데이터를 얻을 수 fillZone()를 사용하고이에 저장 한WPF 콤보 상자 내가 데이터를 콤보 상자를 채우기 위해 노력하고

public void fillZone() 
    { 
     string sql = "select location from zone"; 
     MySqlDataAdapter zonedapter = new MySqlDataAdapter(sql,conn); 
     DataTable dt = new DataTable("zone"); 
     zonedapter.Fill(dt);     

    } 

작업 캔트

this.zonecb.ItemsSource = "Location"; 
this.zonecb.DisplayMemberPath = "Location"; 

아래와 같이 dataTable.I 내 XML이 같은 도시, 위의 반환 된 결과 데이터로 zonecb라는 콤보를 채우려 :

<ComboBox Canvas.Left="91" Canvas.Top="57" Height="23" Name="zonecb" Width="200" ItemsSource="{Binding}" /> 

아이디어가 있으십니까?

답변

1

당신은 내가 당신 만 콤보 상자를 채우는 당신의 fillzone를 호출하는 경우 몰라요, DT를 액세서해야합니다하지만 난 제안 :

public DataTable fillZone() 
{ 
    string sql = "select location from zone"; 
    MySqlDataAdapter zonedapter = new MySqlDataAdapter(sql,conn); 
    DataTable dt = new DataTable("zone"); 
    zonedapter.Fill(dt);     
    return dt; 
} 

public void fillcombo() 
{ 
    DataTable dt = fillZone(); 
    foreach (DataCell cell in dt) 
    { 
     zonecb.add(cell.Value) 
    } 
} 

편집 : 방법의 동일한 종류를 사용

메신저하지만, i 번째 PostgreSQL의 데이터베이스는 PgsqlDataAdapter가 MySqlDataAdapter을 변경하여이/

public DataSet GetInformation(string str) 
    { 
     ds = new DataSet("Tables"); 

     Npgsql.NpgsqlDataAdapter da = new Npgsql.NpgsqlDataAdapter(str, connection); 

     da.TableMappings.Add("Table", "Program"); 
     da.Fill(ds); 
     return ds; 
    }// send query to database, get table 

문자열 str을 당신의 쿼리입니다 작업을해야 할 수도 있습니다.

public DataTable GetInfo() 
    { 
     string Query = "select location from zone"; 
     DataSet Set = GetInformation(Query); 
     return Set.Tables[0]; 
    } 

이제 원하는 데이터를 모두 얻을 수 있습니다.

DataTable DT = dBQuery.GetInfo(); 
    for (int i = 0; i < result.Rows.Count; i++) 
     {   
      zonecd.Items.Add(result.Rows[i].ItemArray[0].ToString()); 
     } 

지금 당신은 당신의 콤보를

+0

캔트 FINT DataCell 네임 스페이스를 채워집니다. 그것은 네임 스페이스 안에 있습니다. Iam 참조 오류가 발생했습니다 –

+0

wpf를 사용하고 있으며 응용 프로그램이 웹 기반이 아닙니다. 친절히 –

+0

을 정교하게 편집 한 후 내 대답을 확인 했습니까? – Moonlight