Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 4.178 pregleda

Najnovija ↓

Pomoc oko ListBox-a 13.03.2009. u 13:03 · pre 214 meseci #1
Imam dva pitanja za ListBox, a prvo je:
Da li je moguce da omogucim korisniku da markira vise podatke koji su ucitani u ListBox-u, i kako to da izvedem?
A drugo se nadovezuje na prvo i glasi:
Kako da obezbedim da se markirani podaci u ListBox-u (znaci vise njih) skladiste u bazu, ali tako da se svaki markiran podatak memorise u novi red tabele?
Re: Pomoc oko ListBox-a 13.03.2009. u 17:33 · pre 214 meseci #2
Citat:

Da li je moguce da omogucim korisniku da markira vise podatke koji su ucitani u ListBox-u, i kako to da izvedem?



Imas u properties-u opciju SelectionMode, izaberi MultipleExtended.

Citat:

Kako da obezbedim da se markirani podaci u ListBox-u (znaci vise njih) skladiste u bazu, ali tako da se svaki markiran podatak memorise u novi red tabele?


Code:

            ListBox.SelectedObjectCollection so = listBox1.SelectedItems;
            foreach (object o in so)
            {
                //Formiranje INSERT STRINGA/KOMANDE za svaki objekat posebno....
                //Izvrsavanje insert komande
            }
Re: Pomoc oko ListBox-a 13.03.2009. u 19:56 · pre 214 meseci #3
Ali ako mi je "o" object kako da ga insertujem u tabelu?
Re: Pomoc oko ListBox-a 13.03.2009. u 20:23 · pre 214 meseci #4
Nisi naveo koje podatke stavljas u ListView. String, vise stringova, neke svoje objekte,....

Kastuj object u tip podatka koji si ubacio u ListView pa odatle uzmi podatke koji ti trebaju.

Ako nisi siguran kog tipa je o onda stavi breakpoint na foreach i gledaj u Watch prozoru sta ti kaze za o.
Re: Pomoc oko ListBox-a 15.03.2009. u 12:31 · pre 214 meseci #5
Za "o" kaze da je DataRowView. Kastovo sam ga pomocu metode ToString() ali mi problem nastaje zato sto petlja foreach mi samo izbroji broj selektovanih items ali njihove vrednosti ne pamti, tako da mi u tabeli onda skladisti tekst System.Data.DataRowView. ListBox punim preko DataSource: tblStaraBindingSource vrednostima iz tblStara, a selektovane vrednosti bi trebalo da cuvam u tblNova. Imali nacina da uskladistim vrednosti selektovane u ListBox-u?
Re: Pomoc oko ListBox-a 15.03.2009. u 13:48 · pre 214 meseci #6
Ok.


Probaj da ovako kastujes:

Code:

DataRowView temp=((DataRowView)o);


Tako dobijes red u tabeli. Odredjenim vrednostima pristupas normalno, dakle mozes koristiti:

temp[0];


Sto predstavlja prvu kolonu u tblStara;
Re: Pomoc oko ListBox-a 15.03.2009. u 15:53 · pre 214 meseci #7
Imam nov problem :( Sada mi tabelu popuni sa brojevima redova, a ne sa njihovim vrednostima. Caka je u tome sto je meni punjenje ListBox-a promenjivo, odnosno korisnik moze brisati ili upisivati nove redove u tblStaro pa mi sad to dosta komplikuje kako da resim upis u tblNovo. Evo i koda:
Code:

    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        clsFunctions clsFunc = new clsFunctions();

        private void btnOK_Click(object sender, EventArgs e)
        {
            ListBox.SelectedObjectCollection so = listBox1.SelectedItems;
        
            foreach (object o in so)
            {
                DataRowView temp = ((DataRowView)o);
                string item = temp[0].ToString();

                clsFunc.DodavanjeVrednosti(item);
            }
         }
    }

   public class clsFunctions:Proba.Class1
    {
        public void DodavanjeVrednosti(string vrednost)
        {
            string sSQL = "INSERT INTO tblNovo(Vrednost) VALUES ('" + vrednost + "')";
            ExecuteSQL(sSQL);
        }
    }
    public class Class1
    {
        protected void ExecuteSQL(string sSQL)
        {
            SqlCommand cmd = new SqlCommand(sSQL, conn);
            try
            {
                conn.Close();
                conn.Open();
                cmd.ExecuteNonQuery();
            }
            finally
            {
                conn.Close();
            }
        }
    }
Re: Pomoc oko ListBox-a 15.03.2009. u 16:03 · pre 214 meseci #8
Koja ti je struktura tabele tblStara ???

Npr ako imas tabelu:

Code:

CREATE TABLE tblStara
(
idStara INT PRIMARY KEY IDENTITY,   -- Ova kolona ima index 0
vrednost CHAR(50)                            -- Ova kolona ima index 1
);



onda ce ti

Code:

 string item = temp[0].ToString();


vracati idStara.

A tebi treba :

Code:

 string item = temp[1].ToString();


da dodjes do prave vrednosti.

Re: Pomoc oko ListBox-a 18.03.2009. u 12:32 · pre 214 meseci #9
ja sam radila tako nesto u nekom seminarskom, kao imas sve unete ucenike, pa ti biras ucenika iz listboxa svi ucenici i klikom na button odredjene prebacujes u list box odelenje, da formiras novo odelenje od odabranih ucenika. evo ti kod, mada sasvim sigurno nije optimizovan i ima zilion gresaka, al mozda nesto pomogne. radi.... ali verovatno nije najbolje resenje, reci ce ti iskusniji.

Code:

private void button1_Click(object sender, System.EventArgs e)
        {
                //unos u list box
                if (this.clbSviUcenici.CheckedItems.Count>0)
                {
                    this.lbOdabraniUcenici.Items.Clear();
                    foreach (string item in this.clbSviUcenici.CheckedItems)
                    {
                        this.lbOdabraniUcenici.Items.Add(item.ToString());
                        this.lbOdabraniUcenici.SelectedItem=item;
                        //unos u bazu
                        broj = this.lbOdabraniUcenici.SelectedItem.ToString();
                        samoBroj = broj.Remove(broj.IndexOf(" "),broj.Length-broj.IndexOf(" "));
                        idu = Convert.ToInt32(samoBroj);
                        string idodel=this.txtID.Text;
                                    
                    
                        //provera
                        
                        foreach (DataRow dr in this.dsPripada1.Tables["Pripada"].Rows)
                        {
                            if (idu.ToString()==dr["id ucenika"].ToString())        
                            {
                                stani=true;
                            MessageBox.Show("Ucenik je vec dodeljen odelenju");
                            }

                        }

                            if (stani==false)
                            {

                                DataRow row = this.dsPripada1.Tables["Pripada"].NewRow();
                                this.sqlConnection1.Close();
                                this.sqlConnection1.Open();
                                this.sqlDataAdapterPripada.InsertCommand=new SqlCommand("INSERT INTO Pripada ([id ucenika], [id odelenja]) VALUES ("+idu+", '"+idodel+"')", this.sqlConnection1);
                                this.sqlDataAdapterPripada.InsertCommand.ExecuteNonQuery();
                                this.sqlDataAdapterPripada.Update(this.dsPripada1, "Pripada");
                                this.sqlConnection1.Close();
                                MessageBox.Show("Uspesna dodela");
                                stani=true;
                            }
                    
                        }
                
                    }
                
        
            
                if (stani==true)
                {

                    for (int i=0; i<this.clbSviUcenici.Items.Count; i++)
                        this.clbSviUcenici.SetItemChecked(i, false);
                    this.lbOdabraniUcenici.Items.Clear();
                }
            
                
            }
Potpis
... ovde ima nesto sto se nikako ne slaze... ;)
Re: Pomoc oko ListBox-a 20.03.2009. u 11:12 · pre 214 meseci #10
A kako da u Listbox-u napravim da imam ono npr. Podesavanje, Kreiranje, Brisanje,.... a da ispred svakog items-a stoji plus, tako da kada kliknem na njega onda mi se otvore subitems-i onako povezani sa isprekidanim strelica sa plusem koji se sad permutirao u minus?
Re: Pomoc oko ListBox-a 20.03.2009. u 13:10 · pre 214 meseci #11
.....ili je to u panelu odradjeno?! Ali opet kako onda?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme