Forum » Programiranje » [C#] DATA GRID VIEW
[C#] DATA GRID VIEW
iggy1 ::
Kako bi naredil, da imam v grid pogledu vse podatke iz podatkovne baze ko zaženem aplikacijo. Kako nafilam DataGridView?
Lp,
Igor
Lp,
Igor
iggy1 ::
protected void Page_Load(Object Src, EventArgs E)
{
SqlConnection myConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\#### PODATKOVNE BAZE ####\imenik.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter myCommand = new SqlDataAdapter("Select * From Stiki", myConnection);
imenikDataSet ds = new imenikDataSet();
myCommand.Fill(ds);
DataView source = new DataView(ds.Stiki);
dataGridView1.DataSource = source ;
dataGridView1.DataBind();
}
Ta koda mi ne dela in sicer ni javi error
'System.Windows.Forms.DataGridView' does not contain a definition for 'DataBind'
Mi zna kod pomagati kaj bi lahko bilo. Ali moram kje definirati DataBind?
{
SqlConnection myConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\#### PODATKOVNE BAZE ####\imenik.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter myCommand = new SqlDataAdapter("Select * From Stiki", myConnection);
imenikDataSet ds = new imenikDataSet();
myCommand.Fill(ds);
DataView source = new DataView(ds.Stiki);
dataGridView1.DataSource = source ;
dataGridView1.DataBind();
}
Ta koda mi ne dela in sicer ni javi error
'System.Windows.Forms.DataGridView' does not contain a definition for 'DataBind'
Mi zna kod pomagati kaj bi lahko bilo. Ali moram kje definirati DataBind?
MaCoFaCo ::
System.Data.DataSet ds = new DataSet(); ds.Tables.Add(new DataTable("tabela1")); ds.Tables[0].Columns.Add("stolpec1"); ds.Tables[0].Rows.Add(new object[] {"vrednost1"}); dataGridView1.DataMember = "tabela1"; dataGridView1.DataSource = ds;
iggy1 ::
protected void Page_Load(Object Src, EventArgs E)
{
SqlConnection myConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\#### PODATKOVNE BAZE ####\imenik.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter myCommand = new SqlDataAdapter("Select * From Stiki", myConnection);
System.Data.DataSet ds = new DataSet();
ds.Tables.Add(new DataTable("Stiki"));
ds.Tables[0].Columns.Add("Priimek");
ds.Tables[0].Rows.Add(dataGridView1);
dataGridView1.DataMember = "Stiki";
dataGridView1.DataSource = ds;
}
Still nothing!
{
SqlConnection myConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\#### PODATKOVNE BAZE ####\imenik.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter myCommand = new SqlDataAdapter("Select * From Stiki", myConnection);
System.Data.DataSet ds = new DataSet();
ds.Tables.Add(new DataTable("Stiki"));
ds.Tables[0].Columns.Add("Priimek");
ds.Tables[0].Rows.Add(dataGridView1);
dataGridView1.DataMember = "Stiki";
dataGridView1.DataSource = ds;
}
Still nothing!
Kekec ::
My bad, sem avtomatsko mislil da delaš web page no za začetek pojdi sem za nadaljevanje pa je metoda Page_load bila mišljena za web formo tako da poglej primere na linku!
MaCoFaCo ::
Ammmmm.
Ti moraš dataset nafilat s pomočjo DataAdapterja!
ALI:
S tisto tvojo kodo zgoraj si mu samo pripravil DataAdapter, ki pa nikoli ni ničesar izvršil. Potem si kreiral prazen dataset in skušal to bindati na grid. DataSet je bil seveda prazen, itak da ti ne bo nič prikazal.
Kodo moraš razumeti in ne delati samo copy/paste :P
Nasvet: nauči se uporabljati dokumentacijo.
Ti moraš dataset nafilat s pomočjo DataAdapterja!
SqlDataAdapter myCommand = new SqlDataAdapter("Select * From Stiki", myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds); if (ds.Tables.Count == 1) { dataGridView1.DataMember = ds.Tables[0].TableName; //dataset lahko vsebuje več tabel, zato mu moraš povedat katero naj vzame! dataGridView1.DataSource = ds; }
ALI:
SqlDataAdapter myCommand = new SqlDataAdapter("Select * From Stiki", myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds); if (ds.Tables.Count == 1) { dataGridView1.DataSource = ds.Tables[0]; //bindamo kar datatable }
S tisto tvojo kodo zgoraj si mu samo pripravil DataAdapter, ki pa nikoli ni ničesar izvršil. Potem si kreiral prazen dataset in skušal to bindati na grid. DataSet je bil seveda prazen, itak da ti ne bo nič prikazal.
Kodo moraš razumeti in ne delati samo copy/paste :P
Nasvet: nauči se uporabljati dokumentacijo.
frudi ::
v bistvu lahko z DataAdapterjem nafilaš kar DataTable, DataSeta sploh ne rabiš:
in če smo že pri detajlih - ni ravno lepo, da DataAdapter imenuješ myCommand. verjetno si najprej to spremenljivko uporabil za SqlCommand. lepo je, da imena spremenljivk nekako odražajo, za kak tip objekta gre.
nato pa lahko vso kodo še lepo zaviješ v try-catch blok, kar je dobro naredit pri vseh metodah, ki dostopajo do baze. nekaj takega:
DataTable tbl = new DataTable(); myCommand.Fill(tbl); dataGridView1.DataSource = tbl;
in če smo že pri detajlih - ni ravno lepo, da DataAdapter imenuješ myCommand. verjetno si najprej to spremenljivko uporabil za SqlCommand. lepo je, da imena spremenljivk nekako odražajo, za kak tip objekta gre.
nato pa lahko vso kodo še lepo zaviješ v try-catch blok, kar je dobro naredit pri vseh metodah, ki dostopajo do baze. nekaj takega:
SqlConnection myConnection = null; SqlDataAdapter myDataAdapter = null; DataTable tbl = null; string myCnnString = "tu pride connection string"; try { myConnection = new SqlConnection(myCnnString); myDataAdapter = new SqlDataAdapter("SELECT * FROM Stiki", myConnection); tbl = new DataTable(); myDataAdapter.Fill(tbl); this.dataGridView1.DataSource = tbl; } catch (Exception ex) { MessageBox.Show("Napaka!" + Environment.NewLine + ex.Message); } finally { if (myDataAdapter != null) { myDataAdapter.Dispose(); } if (myConnection != null) { myConnection.Dispose(); } }
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)
iggy1 ::
Vsem hvala, ker ste mi pomagali še posebej tebi frudi, ker tvoja koda dela kot urca.
Drugače pa za ostale, če bodo kdaj rabili pri frudijevi kodi je treba pr vrstici
DataTable tb1 = new DataTable("Stiki");
dodati spredaj še
System.Data.DataTable tb1 = new DataTable("Stiki");
Lp,
Igor
Drugače pa za ostale, če bodo kdaj rabili pri frudijevi kodi je treba pr vrstici
DataTable tb1 = new DataTable("Stiki");
dodati spredaj še
System.Data.DataTable tb1 = new DataTable("Stiki");
Lp,
Igor
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# težavaOddelek: Programiranje | 3693 (2539) | mladec |
» | [C#, SQLite] update to databaseOddelek: Programiranje | 658 (537) | Yacked2 |
» | [C#,SQL]Oddelek: Programiranje | 1235 (1148) | JanOlMajti |
» | [C#] Ne prkaže takoj podatkovOddelek: Programiranje | 1128 (991) | darkolord |
» | [C#] Dostop do objekta iz različnih formOddelek: Programiranje | 2157 (1870) | Kekec |