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

Problem sa duzinom (velicinom brojeva sa DataGridView-om

[es] :: .NET :: .NET Desktop razvoj :: Problem sa duzinom (velicinom brojeva sa DataGridView-om

[ Pregleda: 2631 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 11:57 - pre 170 meseci
Moze li mala pomoc. Pocetnik sam u VB.net-u. Nekako sam nasao negde na netu da se ovako popunjava DataGridView, da li mozda negde gresim jer kada unesem neki zaista veliki broj, on se u bazu (sqlite) dobro upise ali se u DataGridView-u lose prikazuje.
Ja ukucam: "123456789.12" a on meni izbaci: "123456792" u samoj tabeli a kada uradim dupli klik da sadrzaj reda prebacim u text box onda mi u text boxu pise: "1,234568E+08".
Evo koda za iscitavanje iz baze i punjenje DataGridView-a:
Code:

Dim SQLconnect As New SQLite.SQLiteConnection()
Dim SQLcommand As New SQLite.SQLiteCommand

Dim results As DataSet = New DataSet
Dim database As String = path_to_db

'<remarks>
'Creating a ConnectionString pointing to the database file
'</remarks>
Dim datasource As SQLite.SQLiteConnectionStringBuilder = New SQLite.SQLiteConnectionStringBuilder()
datasource.Add("Data Source", database)
datasource.Add("Version", "3")
datasource.Add("New", "False")
datasource.Add("Compress", "False")

Dim connection As SQLite.SQLiteConnection = New SQLite.SQLiteConnection(datasource.ConnectionString)
Dim adapter As SQLite.SQLiteDataAdapter = New SQLite.SQLiteDataAdapter("SELECT * FROM pocetno_stanje;", connection)
'<remarks>
'Populating the DataGridView
'</remarks>
adapter.Fill(results)
Form1.DataGridView1.DataSource = results.Tables(0).DefaultView


[Ovu poruku je menjao ksrele dana 11.04.2010. u 15:09 GMT+1]
 
Odgovor na temu

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 12:20 - pre 170 meseci
Tip podataka u bazi mi je REAL. Ja mislim da je to OK zar ne?
 
Odgovor na temu

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 14:08 - pre 170 meseci
Ubacio sam ovaj kod posle prebacivanja podataka iz adaptera u 'results':
Code:

Dim dr As DataRow
Dim ds As DataSet
Dim dt As DataTable

ds = results 

dt = ds.Tables(0)

For Each dr In dt.Rows
     MsgBox(dr(2))
Next
ds.Dispose()


I u msgbox-u dobijem broj u E+ formatu, a ne treba mi to!!! Sta da radim, ludim vec...

Kako se iz baze iscitavaju podaci u ovom glupom VB.Net-u?!?
U PHP-u je to prosta stvar, zasto ovde moram da koristim neke adaptere i i recordsetove i bodalastine...
 
Odgovor na temu

aca andrijevic
aka LoGaN
Nis

Član broj: 35450
Poruke: 347
217.16.132.*

ICQ: 325309560


+2 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 16:28 - pre 170 meseci
Da li ti je vazno da to bude u DataGridView, posto je on barem
po meni dosta ogranicen za neke stvari.Ja koristim naprimer ListView.

Za ovo mozes da probas: EditColumns(na DataGridViewTasks)>Column1>
DefaultCellStyle>Format.


"Ne menjaj nesto sto te sasvim dobro sluzi, ne trazi leba preko pogace" - Aleksandar Andrijevic
 
Odgovor na temu

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 16:52 - pre 170 meseci
Jaooooo poludecu majke mi.
Prosto nisam vise pametan... Hteo bih da ovo uradim nekako peske ali to nikako nije moguce. Ne znam zasto, ali iz inata necu da koristim Access bazu a na tom kompu gde ce se vrtiti ovaj program necu da dizem nikakve servere... Hocu file bazu!
Jbt bas mi ovo ide na zivac.

@aca andrijevic
Malo mi je komplikovano da menjam ceo program i da ubacujem ListView, mislio sam da ce DataGridView da resi probleme ali...
A sto se tice ovog predloga, nije izvodljivo jer imam samo jednu formu i jedan PRAZAN DataGridView i ja ga dinamicki punim. To mi je cilj.
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.ptt.rs.



Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 17:28 - pre 170 meseci
Nemam VS pri ruci, ali rešenje je sledeće. Dodaj event handler na dogadjaj CellFormating. On će ti se pozivati za svaku ćeliju i tu možeš svašta korisno uraditi na nivou ćelije.

Evo deo koda otprilike, nije VB, nego C#, verovatno ima grešaka u nazivima propertija ili klasa, ali verujem da ćeš se snaći...

Code:

private void dgv_CellFormatting(object sender, CellFormattingEventArgs e)
{
  if ((sender as DataGridView).Columns[e.ColumnIndex].DataFieldName.Equals("ImeTeKolone"))
  // ili, ako hoćeš, mada je tako "nekorektno", samo proveri da li je e.ColumnIndex == 2
  {
    // primer formatiranja
    e.Value = string.Format("{0:0.00}", Convert.ToDouble(e.Value));    
    // ili nesto ovako (u format staviš šta ti treba)
    e.DefaultCellStyle.Format = "....";

    // a ovako bi recimo ofarbao pozadinu ćelija u toj koloni u crveno
    e.DefaultCellStyle.BackColor = Color.Red;

    e.FormattingApplied = true;
  }
}            


U svakom slučaju, ispraviću sutra ovaj kod da bude 100% korektan.
 
Odgovor na temu

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 17:38 - pre 170 meseci
Inace, uopste nije fora u DataGridView-u vec u prebacivanju podataka iz SQLite baze do VB-a...
 
Odgovor na temu

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 18:02 - pre 170 meseci
@marko1981
Hmmm... skoro sam uspeo sa tvojim kodom ali... izgleda da se negde izgubi preciznost.
Ljudi, evo detaljnijeg objasnjenja problema:
Unos podataka iz VB-a tj TextBox-a pa kroz SQLiteAdapter i sta ti ja znam, u bazu prodje bez problema. Uvidom u bazi preko nekih drugih programa vidim da je zapis OK.
Ali, kada se taj zapis pokusa procitati u VB-u NECE!!! Odma u "results" posle komande "adapter.Fill(result)" stoji pogresno. A sta je pogresno? Pa pogresno je to sto tamo je ta vrednost zapisana kao SINGLE, dakle, samo jedan broj je ispred zareza i onda ima nekoliko brojeva posle zareza i onda slovo E (kao exponent) i onda pise koliko jos ima decimala. Pokusao sam ovo da konvertujem u sve moguce ali nece da mi da vrednost koja je u bazi.
Da li ja negde gresim ili sta je u pitanju?
Postoji li neki siroviji nacin da izvucem podatke iz baze?

Primer:
Ja unesem 123456789.78
U bazi je isto to.
Posle markovog koda u datagrid-u vidim: 123456792.00
A u resultu je: 1,234568E+08

Nikad ovo necu provaliti...
 
Odgovor na temu

ksrele
Programer - informatičar
Gold Drink D.O.O. Subotica
Subotica

Član broj: 14253
Poruke: 1642
*.dynamic.isp.telekom.rs.

ICQ: 66444502


+47 Profil

icon Re: Problem sa duzinom (velicinom brojeva sa DataGridView-om11.04.2010. u 18:15 - pre 170 meseci
Ha! Mislim da sam uspeo!!!
Dodao sam u SELECT CAST(iznos_pot AS REAL) umesto samo iznos_pot
I sada radi!!! :)
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Problem sa duzinom (velicinom brojeva sa DataGridView-om

[ Pregleda: 2631 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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