2016-03-27 13 views
0

3 gün boyunca bu kod parçası üzerinde çalışmaktan yoruldum ve internette arama yapmak için lütfen yardıma ihtiyacım var lütfen Yardımı için NASIL bilgi edinin otomatik olarak textbox1'u kullanın ve textbox2 ve textbox3 değerlerini kullanarak internette arama yapmanın ve farklı mesajlardan rastgele toplama bilgilerinin altını çizin. Ben en hızlı şekilde o ne elde göreBaşka bir metin kutusunun değerini (otomatik olarak) ayarlamak için metin kutusunun değerini kullanmayı öğrenmek istersiniz (otomatik olarak)

...

öneri formu oracle veritabanı görünmelidir textbox1 Asistan
public class PopulateProduct 
{ 
     public string ProductDesc { get; set; } 
     public decimal UnitPrice { get; set; } 
} 

Dictionary<string, PopulateProduct> dict = new Dictionary<string, PopulateProduct>(); 

public void load() 
{ 
     string connstr = "user id=user;password=pwd"; 
     string cmdtxt = @"select PRODUCT_ID,DESCRIPTION,UNIT_PRICE 
           from products"; 

     AutoCompleteStringCollection autocom = new AutoCompleteStringCollection(); 
     TB_PRODUCT_ID.AutoCompleteMode = AutoCompleteMode.Suggest; 
     TB_PRODUCT_ID.AutoCompleteSource = AutoCompleteSource.CustomSource; 
     TB_PRODUCT_ID.AutoCompleteCustomSource = autocom; 

     using (OracleConnection conn = new OracleConnection(connstr)) 
     using (OracleCommand cmd = new OracleCommand(cmdtxt, conn)) 
     { 
      try 
      { 
       conn.Open(); 
       OracleDataReader dr = cmd.ExecuteReader(); 

       while (dr.Read()) 
       { 
        dict.Add((string)dr["PRODUCT_ID"], 
         new PopulateProduct() 
         { 
          ProductDesc = (string)dr["DESCRIPTION"], 
          UnitPrice = (decimal)dr["UNIT_PRICE"] 
         }); 
        autocom.Add(dr["PRODUCT_ID"].ToString()); 
       } 

      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message,"",MessageBoxButtons.OK,MessageBoxIcon.Error); 
      } 
     } 
} 

hiçbir öneri görünmez ve hiçbir veri textbox2 ve textbox3

private void TB_PRODUCT_ID_TextChanged(object sender, EventArgs e) 
{ 
     if (dict.ContainsKey(TB_PRODUCT_ID.Text)) 
     { 
      TB_PRODUCTS_DESC.Text = dict[TB_PRODUCT_ID.Text].ProductDesc; 
      TB_UNIT_PRICE.Text = dict[TB_PRODUCT_ID.Text].UnitPrice.ToString(); 
     } 
} 
atanır
+0

Sorun tam olarak nedir? Hangi kısımda yardıma ihtiyacınız var? –

+0

@RezaAghaei Metin değiştiğinde ben textchaned öneriyi girdiye göre belirttiğim gibi değiştirdim. Ben textbox1 vale seçtiğimde 1 textbox2 ve textbox3 için assigne değeri gerekir ama thats olmaz – samer

cevap

0

MetinChanged olayını, özellikle otomatik tamamlama değerinin metinde ne zaman ortaya çıkacağını anlayamadığımdan, diğer eylemleri tetiklemek için otomatik tamamlama metin kutusunda kullanmanın büyük bir hayranı değilim. Değerin seçildiğini bildiğimde, kullanıcının kutuyu tamamen terk etmesini tercih ederim. Bu sizin için çalışmazsa bile, kodunuzu Leave olayına eklemeyi deneyin ve çalışıp çalışmadığını görün. Bunu yaparsanız, sorun muhtemelen TB_PRODUCT_ID.Text otomatik tamamlanmış değer içermiyordur.

İlgili konular