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

VB.NET datargidview i ubacivanje slika

[es] :: .NET :: .NET Desktop razvoj :: VB.NET datargidview i ubacivanje slika

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.static.isp.telekom.rs.



+322 Profil

icon VB.NET datargidview i ubacivanje slika21.11.2011. u 07:06 - pre 150 meseci
Malo se mučim sa ubacivanjem slike u datagridview kontrolu.
Naime, nije mi problem ubaciti sliku u kolonu na kraju datagrida ali na početak ili neko drugo mesto... e to ne ide.

Code:

        DataGridView1.ColumnCount = 3
        DataGridView1.Columns(0).Name = "Product ID"
        DataGridView1.Columns(1).Name = "Product Name"
        DataGridView1.Columns(2).Name = "Product_Price"

        Dim row As String() = New String() {"1", "Product 1", "1000"}
        DataGridView1.Rows.Add(row)
        row = New String() {"2", "Product 2", "2000"}
        DataGridView1.Rows.Add(row)
        row = New String() {"3", "Product 3", "3000"}
        DataGridView1.Rows.Add(row)
        row = New String() {"4", "Product 4", "4000"}
        DataGridView1.Rows.Add(row)

        Dim img As New DataGridViewImageColumn()
        Dim inImg As Image = Image.FromFile("c:\strelica.png")
        img.Image = inImg
        DataGridView1.Columns.Add(img)
        img.HeaderText = "Image"
        img.Name = "img"



Na način gore ubacujem sliku na kraj tabele. Međutim ne znam kako da sliku postavim na početak, u prvu kolonu, a da ostale kolone budu tekstualne.
Potrebna pomoć!
 
Odgovor na temu

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
92.244.132.*



+3 Profil

icon Re: VB.NET datargidview i ubacivanje slika21.11.2011. u 08:52 - pre 150 meseci
Ja sam to radio tako sto sam handle-ovao dogadjaj: 'CellFormatting' za 'dataGridView'.
Recimo, prikazivao sam licne podatke korisnika (necega), a pored broja telefona/faksa, prikazivao sam ikonicu koja je simbolicno predstavljala da li je u pitanju kucni, mobilni ili sluzbeni telefon.

Prvo pripremis 'image'-s za prikaz (recimo, u mom slucaju):

Code:

Image imgTel = Image.FromFile("telephone.png"); 
Image imgFax = Image.FromFile("stock_send_fax.png"); 
Image imgHome = Image.FromFile("home.png"); 
Image imgJob = Image.FromFile("free_for_job.png"); 
Image imgMob = Image.FromFile("hardware_19.png"); 


Zatim, kao sto sam napisao, 'handle'-jes 'CellFormatting' dogadjaj (kao sto sam naveo, ovaj primjer prikazuje ikonice koje blize odredjuju tip telefona korisnika, a ti ga prilagodi tvom primjeru). Da ne zaboravim, kolone za prikaz 'image'-a definises da su tipa: 'DataGridViewImageColumn'. Evo koda:

Code:

        private void dataGridViewTelefoni_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (e.RowIndex > -1 && e.ColumnIndex == dataGridViewTelefoni.Columns["TelFaks"].Index) // da li je u pitanju kolona 'TelFaks'
            {
                try
                {
                    if (dataGridViewTelefoni["TipBroja", e.RowIndex].Value != null) // za svaki slucaj
                    {
                        int tt = Convert.ToInt32(dataGridViewTelefoni["TipBroja", e.RowIndex].Value); //pretvori u integer
                        switch (tt)
                        {
                            case 0: // radi se o telefonu
                                e.Value = imgTel; // prikazi ikonicu 'telefon'
                                break;
                            case 1: // radi se o faksu
                                e.Value = imgFax; // prikazi ikonicu 'faks'
                                break;
                        }
                    }
                }
                catch (Exception ii)
                {
                    MessageBox.Show(Staticka.podesiText("strErr_2") + ii.Message);//Puklo na ubacivanje slike telefon/faks ...  
                }
            }
            else
                if (e.RowIndex > -1 && e.ColumnIndex == dataGridViewTelefoni.Columns["VrstaTel"].Index) // da li je u pitanju kolona 'VrstaTel'
                {
                    try
                    {
                        if (dataGridViewTelefoni["Vrsta", e.RowIndex].Value != null) // za svaki slucaj
                        {
                            int tt = Convert.ToInt32(dataGridViewTelefoni["Vrsta", e.RowIndex].Value); //pretvori u integer
                            switch (tt)
                            {
                                case 0: // radi se o poslovnom telefonu
                                    e.Value = imgJob; // prikazi ikonicu 'job'
                                    break;
                                case 1: // radi se o kucnom broju
                                    e.Value = imgHome; // prikazi ikonicu 'home'
                                    break;
                                case 2: // radi se o mobilnom broju
                                    e.Value = imgMob; // prikazi ikonicu 'mobilni telefon'
                                    break;
                            }
                        }
                    }
                    catch (Exception ii)
                    {
                        MessageBox.Show("strErr_3" + ii.Message); //Puklo na ubacivanje slike vrsta telefona ...  
                    }
                }
        }

Programming is fun, but writing good software is hard ...
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-3.sezampro.rs.



+322 Profil

icon Re: VB.NET datargidview i ubacivanje slika22.11.2011. u 05:23 - pre 150 meseci
Hvala Nikita, uspeo sam.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: VB.NET datargidview i ubacivanje slika

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

Postavi temu Odgovori

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