» »

DataView, DataTable, DataSet

DataView, DataTable, DataSet

smejko ::

Živijo!

V čem je glavna razliga nad zgoraj naštetim?

lp

Mitja Bonča ::

Poglej ta primer:
    private void button1_Click(object sender, EventArgs e)
    {
      DataSet ds = new DataSet();
      DataTable dt = new DataTable();
      dt.TableName = "MyTable";
      foreach (DataGridViewColumn col in dataGridView1.Columns)
      {
        dt.Columns.Add(col.DataPropertyName, col.ValueType);
      }
      foreach (DataGridViewRow gridRow in dataGridView1.Rows)
      {
        if (gridRow.IsNewRow)
          continue;

        DataRow dtRow = dt.NewRow();
        for (int i1 = 0; i1 < dataGridView1.Columns.Count; i1++)
          dtRow[i1] = (gridRow.Cells[i1].Value == null ? DBNull.Value : gridRow.Cells[i1].Value);
        dt.Rows.Add(dtRow);
      }
      ds.Tables.Add(dt);
      System.Diagnostics.Debugger.Break();
    }


Vidiš razliko?
DataGridView je okenska kontorla, ki se polni (lahko) iz dataTable. Več dataTable-ov, lahko tvori dataSet.

detroit ::

Na kratko (sorry mitja nism bral tvojga posta:)
DataView, DataTable, DataSet

- DataTable je osnovna tabela (jst si jo predstavljam kot tabela ki jo dobiš s queriji, tako za lažje predstavljanje, samo, da imaš nad njo kontrolo)
- DataView je deluje kot filter nad DataTablom (oz query na queriju)


DataView dv = new DataView(dtSestanki);
dv.RowFilter = "Datum >= '" + getGetCurrentDateTimeMinusOneHour() + "'";

- DataSet je pa en glavnih delov ADO.neta (zelo dobra zadeva, mogoče bi bilo bolš če prebereš mal o ado.net, drugače pa preprosto povedan je to skupek tabel)


Fajn bi blo da mal pogooglaš ado.net
Skero

Zgodovina sprememb…

  • spremenil: detroit ()

Mitja Bonča ::

No, ni ravno takole (je pa podobno).
DATATABLE: Predstavlja eno tabelo podatkov, ki se nahajajo v spominu (ramu). Je centralna enota v .NET knjižnici. Drugi objekti, ki uporabljajo DataTable so DataSet in DataView.
DATASET: Predstavlja shrambo podatkov (cache), ki se nahajajo v spominu (ramu). DataSet sestavlja zbirko DataTable objektov.
DATAVIEW: Predstavlja podatkovno povezljiv in posebej prilagojen pregled podatkov iz DataTable. Kontrola nudi sortiranje, filtriranje, iskanje, urejanje in navigacijo nad podatki iz DataTable. Glavna prednosot DataView je, povezovanje z podatki v okenskih in spletnih aplikacijah.

To bi bilo na kratko.
Mitja

smejko ::

Hvala obema :)

Ima mogoče kdo kakšen dober primer, da s pomočjo DataView narediš nad določenimi stolpci filter po unique vrednostih ki se pojavljajo v tem stolpcu in potem enostavno ko izbereš nek filter da ti odfiltrira podatke? Se da to čisto na formi filtrirat ali je vedno potreben nov select na bazo?

lp

detroit ::

imaš gor nek moj useless primer, po moje z unique misliš samo še distinct zravn

v konstruktor od dvja podaš kot argument tabelo in določiš filtr. To ni select na bazo ampak na tabelo (v tem primeru)...recimo
Skero

smejko ::

Jah nad vsakim stolpcem bi rad dal pač distinct vrednosti v DropDownList in ko bi nekaj izbral iz DropDownList-a bi ti filtriralo :) ima mogoče kdo kakšen simple primerček?

detroit ::

ok če prav razumem je to čisto drugo, drop down list mora imeti svoj binding s distinctom, in potem v DV dodaš filter

"argument = " + tistavreddnostizdropdowna

nekako tkole kot že napisano
dv.RowFilter = "Argument = '" + vrednost + "'";
Anyhow ne razumem najboljš kaj želiš
Skero

smejko ::

mogoče na primerčku:

Običen GridView
Ime | Priimek
-----------------------
Peter | Novak
Peter | Mlakar
Sašo | Bajde
Urša | Novak

GridView s filtri nad stolpcem:

Ime | Priimek
-----------------------
FilterIme |FilterPriimek --> to bi rad, da se zgenerira ko prvič bindaš podatke iz baze
-------------------------
Peter | Novak
Peter | Mlakar
Sašo | Bajde
Urša | Novak

FilterIme bi rad, da se zgenerira po distinct vrednostih se pravi bi v drop down listi dobil Peter, Sašo, Urša, v Filter priimek pa Novak, Mlakar, Bajde in ko bi v tem drop down-u izbral naprimer Novak bi mi gridView pokazal samo vse zapise ki imajo priimek=Nova

detroit ::

ah torej misliš da se combobox nafila z distinct vrednostmi
ja sm to morata bit dva comboboxa ali bo treba še mal poigrat se:)


V bistvu je vse tako kot sm povedu, sam da še mal poglej kako se distincta v dataview filtru (nism še gledu)


Seveda če sm prav razumel speT:)
Skero


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[VB] datagridview

Oddelek: Programiranje
351928 (1311) korenje3
»

vb mysql dataset update

Oddelek: Programiranje
81234 (1114) korenje3
»

Baza & c#

Oddelek: Programiranje
214149 (3207) xardas
»

[C#] DATA GRID VIEW

Oddelek: Programiranje
131934 (1814) Kekec
»

[ASP.NET]

Oddelek: Programiranje
61313 (1167) OmegaM

Več podobnih tem