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

DatagridView vb.net. štekanje..

[es] :: .NET :: DatagridView vb.net. štekanje..

[ Pregleda: 1599 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Black One
Čepin

Član broj: 46302
Poruke: 102
*.adsl.net.t-com.hr.

Sajt: www.medija.org


+1 Profil

icon DatagridView vb.net. štekanje..06.02.2012. u 12:04 - pre 148 meseci
Pozdrav!

Radim na pos programu i koristim datagridview za prikaz artikala iz baze podataka sa stupcima "Kod, Naziv, Cijena" i sve radi super na malu količinu ali kad je u pitanju 700 i više artikala program jednostavno šteka otvara tu forumu i više od 5 sekundi. Postoji li način da nekako to ubrzam da nešteka toliko il da koristim nešto drugo osim datagridview... npr probao sam u php-u napravit jednostavnu tablicu isto da mi ispiše te stupce i sve artikla i odradi manje od sekunde.

Pls pomagajte.
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
*.gtech.co.rs.

ICQ: 20785904


+4 Profil

icon Re: DatagridView vb.net. štekanje..06.02.2012. u 12:22 - pre 148 meseci
mora postojati nacin za ubrzavanje posto 700 nije ozbiljna cifra... negde nesto u kodu ti ne valja...
 
Odgovor na temu

Black One
Čepin

Član broj: 46302
Poruke: 102
*.adsl.net.t-com.hr.

Sajt: www.medija.org


+1 Profil

icon Re: DatagridView vb.net. štekanje..06.02.2012. u 13:42 - pre 148 meseci
evo kodove koje koristim.
Kod za vađenje podataka iz baze
Code:
Public Sub osvijezi()
        Dim myCommand As New MySqlCommand
        Dim myAdapter As New MySqlDataAdapter
        Dim myData As New DataTable
        Dim SQL As String
        SQL = ("select id, kod, naziv,((cijena * pdv)+cijena) AS cijena, mj_jed, pdv, povratna_naknada, barkod, opis, lager from artikli ORDER BY kod ASC")
        Try
            If conn.State = ConnectionState.Closed Then
                conn.ConnectionString = myConnString1 & ";Allow Zero Datetime=true"
                conn.Open()
            End If
            Try
                myCommand.Connection = conn
                myCommand.CommandText = SQL
                myAdapter.SelectCommand = myCommand
                myAdapter.Fill(myData)
                dgvArtikli.DataSource = myData
                dgvArtikli.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
                Call DataGridViewFormat(dgvArtikli)
                With dgvArtikli
                    .AutoResizeRows()
                End With
            Catch myerror As MySqlException
                MsgBox(My.Settings.connstring)
                MsgBox("There was an error reading from the database: " & myerror.Message)
            End Try
            conn.Close()
        Catch ex As Exception
        End Try
        If dgvArtikli.RowCount > 0 Then
            'Scroll to the last row.
            Me.dgvArtikli.FirstDisplayedScrollingRowIndex = Me.dgvArtikli.RowCount - 1
            'Select the last row.
            Me.dgvArtikli.Rows(Me.dgvArtikli.RowCount - 1).Selected = True

        End If
    End Sub


Formatiranje datagridview
Code:
Private Sub DataGridViewFormat(ByRef dgvArtikli As DataGridView)
        With dgvArtikli
            .AlternatingRowsDefaultCellStyle.BackColor = Color.LightCyan
            .SelectionMode = DataGridViewSelectionMode.FullRowSelect
            .AllowUserToOrderColumns = True
            .AllowUserToDeleteRows = False
            .AllowUserToAddRows = False
            .ReadOnly = True
            .MultiSelect = False
            .Columns.Clear()
            .AutoResizeColumns()
            .AutoResizeRows()

            Dim ID As New DataGridViewTextBoxColumn
            With ID
                .DataPropertyName = "id"
                .Name = "id"
                .HeaderText = "ID"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            End With
            .Columns.Add(ID)
            ID.Visible = False

            Dim kod As New DataGridViewTextBoxColumn
            With kod
                .DataPropertyName = "kod"
                .Name = "kod"
                .HeaderText = "Šifra Artikla"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            End With
            .Columns.Add(kod)

            Dim naziv As New DataGridViewTextBoxColumn
            With naziv
                .DataPropertyName = "naziv"
                .Name = "naziv"
                .HeaderText = "Naziv Artikla"
                .MinimumWidth = 250
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            End With
            .Columns.Add(naziv)

            Dim cijena As New DataGridViewTextBoxColumn
            With cijena
                .DataPropertyName = "cijena"
                .Name = "cijena"
                .HeaderText = "Cijena"
                .DefaultCellStyle.Format = "c"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            End With
            .Columns.Add(cijena)

            Dim pdv As New DataGridViewTextBoxColumn
            With pdv
                .DataPropertyName = "pdv"
                .Name = "pdv"
                .HeaderText = "PDV"
                .MinimumWidth = 100
                .DefaultCellStyle.Format = "p"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
                .DefaultCellStyle.NullValue = "None"
            End With
            .Columns.Add(pdv)

            Dim povratna_naknada As New DataGridViewTextBoxColumn
            With povratna_naknada
                .DataPropertyName = "povratna_naknada"
                .Name = "povratna_naknada"
                .HeaderText = "Povratna Naknada"
                .DefaultCellStyle.Format = "c"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            End With
            .Columns.Add(povratna_naknada)

            Dim barkod As New DataGridViewTextBoxColumn
            With barkod
                .DataPropertyName = "barkod"
                .Name = "barkod"
                .HeaderText = "Barkod"
                .MinimumWidth = 150
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
                .DefaultCellStyle.NullValue = "None"
            End With
            .Columns.Add(barkod)

            Dim opis As New DataGridViewTextBoxColumn
            With opis
                .DataPropertyName = "opis"
                .Name = "opis"
                .HeaderText = "Kratak Opis"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
                .DefaultCellStyle.NullValue = "None"
            End With
            .Columns.Add(opis)
            opis.Visible = False

            Dim lager As New DataGridViewTextBoxColumn
            With lager
                .DataPropertyName = "lager"
                .Name = "lager"
                .HeaderText = "Skaldište"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
                .DefaultCellStyle.NullValue = "None"
            End With
            .Columns.Add(lager)

            Dim mjed As New DataGridViewTextBoxColumn
            With mjed
                .DataPropertyName = "mj_jed"
                .Name = "mj_jed"
                .HeaderText = "M.Jed."
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
                .DefaultCellStyle.NullValue = "None"
            End With
            .Columns.Add(mjed)

        End With
    End Sub

 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
*.finsoft.rs.

ICQ: 20785904


+4 Profil

icon Re: DatagridView vb.net. štekanje..06.02.2012. u 13:58 - pre 148 meseci
vidi sta se desava ako prvo izvrsis:
Code:

Call DataGridViewFormat(dgvArtikli)

pa tek onda :
Code:

dgvArtikli.DataSource = myData


 
Odgovor na temu

jmarko2002
Jovanovic Marko
Uzice

Član broj: 10271
Poruke: 29
*.dynamic.sbb.rs.



Profil

icon Re: DatagridView vb.net. štekanje..06.02.2012. u 20:31 - pre 148 meseci
Mislim da ti je mnogo bolje resenje da kreiras upit na mysql serveru, a u vb da kreiras formu sa datagridom i direktno je povezes sa bazom. Tako bi trebalo da najbrze dobijas podatke...
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: DatagridView vb.net. štekanje..22.02.2012. u 10:20 - pre 148 meseci
cenim da ti poziv AutoResizeRows() ubija performanse
 
Odgovor na temu

Black One
Čepin

Član broj: 46302
Poruke: 102
*.adsl.net.t-com.hr.

Sajt: www.medija.org


+1 Profil

icon Re: DatagridView vb.net. štekanje..22.02.2012. u 12:07 - pre 148 meseci
Hvala svima na odgovorima.
Obrisao sam Private Sub DataGridViewFormat(ByRef dgvArtikli As DataGridView) i dodao na datagridview stupce normalno i tamo im podesio sve i sve radi sada savršeno ;)
 
Odgovor na temu

[es] :: .NET :: DatagridView vb.net. štekanje..

[ Pregleda: 1599 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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