Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa nasledjivanjem u Windows formi

[es] :: .NET :: Problem sa nasledjivanjem u Windows formi

[ Pregleda: 2063 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bokac
Beograd

Član broj: 19866
Poruke: 110
*.dial.b92.net



Profil

icon Problem sa nasledjivanjem u Windows formi06.03.2004. u 21:11 - pre 244 meseci
Cao svima imam jedan problem pa bih zamolio ako neko moze da mi pomogne.
Imam 2 Windows forme F1 i F2. U F1 imam 2 TextBox kontrole tbox1 i tbox2. U F2 imam jednu ListBox kontrolu list_box. U F1 Korisnik unosi tekst u tbox1 i tbox2, koji sluzi za pretrazivanje baze, a dobijeni rezultat popunjava list_box u F2.
U F1 kod je sledeci:
Code:
public class F1
{
   public string Rez_a
   {
      get
          {
             return tbox1.Text;
          }
    }
   public string Rez_b
   {
      get
         {
            return tbox1.Text;
         }
    }
}


a u F2:

Code:

public class F2
{
  public void UradiNesto
  {
    .....
    conn.Open();
    F1 forma1=new F1();
    string upit="SELECT * FROM NekaTabela WHERE naziv1='"+forma1.Rez_a+"' AND  naziv2='"+forma1.Rez_b+"' ORDER BY naziv1 ASC";
   OleDbDataAdapter da=new OleDbDataAdapter(upit, conn);
   DataTable dt=new DataTable();
   da.Fill(dt);
   list_box.DataSource=dt;
   list_box.DisplayMember="naziv2";
   list_box.ValueMember="naziv1";
    conn.Close();
  }
}

sve se dobro izvrsi, komplajler ne prijavljuje gresku, ali u ListBox (list_box) kontroli u formi 2 (F2) nista se ne ispisuje i ako u bazi postoje te vrednost. Da li neko moze da mi kaze sta u ovom jednostavnom kodu nije u redu. Hvala unapred.

[Ovu poruku je menjao bokac dana 07.03.2004. u 03:49 GMT]
 
Odgovor na temu

veljaradenkovic
Velja Radenkovic
Beograd

Član broj: 2977
Poruke: 281
*.ptt.yu

ICQ: 147120023


Profil

icon Re: Problem sa nasledjivanjem u Windows formi06.03.2004. u 22:31 - pre 244 meseci
Evo ti dva src file-a kako ovo mozes da uradis necu da komentarisem tvoj kod jer si ga napisao tako da me zamalo mrzelo da ga procitam koristi ove code tagove itd. a i kad sam ga procitao nije mi bilo jasno kako si to mislio da uradis ...

Prva forma: MainForm.cs
Code:

  // project created on 3/6/2004 at 10:32 PM
using System;
using System.Windows.Forms;

namespace MyFormProject 
{
    public class MainForm : System.Windows.Forms.Form
    {
        public string Str1{
            get {
                return this.textBox1.Text;
            }
        }
        public string Str2{
            get {
                return this.textBox2.Text;
            }
        }
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button button;
        private System.Windows.Forms.TextBox textBox2;
        public MainForm()
        {
            InitializeComponent();
        }
    
        void InitializeComponent() {...}
            
        [STAThread]
        public static void Main(string[] args)
        {
            Application.Run(new MainForm());
        }
        void ButtonClick(object sender, System.EventArgs e)
        {
            F2 f2=new F2(this); 
            f2.Show();
        }
        
    }            
}


Druga forma F2.cs
Code:

 // created on 3/6/2004 at 10:37 PM
using System;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data;
namespace MyFormProject {
    public class F2 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.ListBox listBox;
        private System.Windows.Forms.Button button;
        private MainForm parent;
        public F2(MainForm parent)
        {
            this.parent=parent;
            InitializeComponent();
        }
        
        void InitializeComponent() {...}

        void ButtonClick(object sender, System.EventArgs e)
        {
            String strConn=@"Provider=Microsoft.Jet.OleDb.4.0;"+
            " Data source=" + Application.StartupPath + @"\primer.mdb";
            String strSql="SELECT * FROM table1 WHERE ime='" + parent.Str1 + "' AND prezime='"+ parent.Str2 +"'";
            OleDbConnection myConn= new OleDbConnection(strConn);
            DataTable myDt= new DataTable("MojaTabela");
            OleDbDataAdapter myAdapter=new OleDbDataAdapter(strSql, myConn);
            myAdapter.Fill(myDt);
            myConn.Close();
            this.listBox.DataSource=myDt;
            this.listBox.DisplayMember="ime";
            this.listBox.ValueMember="prezime";
        }
        
    }
}


Treba ovo da dodas u naki project; da napravis Access bazu primer.mdb u direktorijumu gde ce da ti bude izvrsni fajl i u njoj sledecu tabelu:

id autonumber primarykey
ime text
prezime text

U tu dabelu ubaci dva tri imena i prezimena pa probaj da ih nadjes videces da radi.

Fora je u sledecem u ovoj drugoj formi moras da imas referencu na prvu formu iz koje oces da uzmes parametre za pretragu ... to je ono sto ti je verovatno falilo a dobija se ovde :

Code:

/*napravis jednu varijablu koja ces da dodelis referencu na prvu formu */
private MainForm parent; 
/*konstruktoru ove druge forme kada kreiras njenu 
instancu  u prvoj prosledis this kao parametar ==> F2 f2=new F2(this); */
public F2(MainForm parent)
{
    this.parent=parent;
    InitializeComponent();
}


i eto ...

Javi kad uspes da izbrisem suvisan deo koda!




[Ovu poruku je menjao veljaradenkovic dana 08.03.2004. u 02:06 GMT]
 
Odgovor na temu

bokac
Beograd

Član broj: 19866
Poruke: 110
*.dial.b92.net



Profil

icon Re: Problem sa nasledjivanjem u Windows formi07.03.2004. u 01:57 - pre 244 meseci
Kao prvo izvinjavam se na losem prikazu koji sam sada malo popravio, pisao sam u malo vecoj zurbi. Kod koji sam dao takodje nije bio sasvim kompletan pokusao sam da se fokusiram na sustinu. Kao drugo hvala ti na puno na odgovoru tvoj kod savrseno radi, sada vidim gde sam pogresio. Pozdrav i hvala jos jednom.
 
Odgovor na temu

[es] :: .NET :: Problem sa nasledjivanjem u Windows formi

[ Pregleda: 2063 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.