Skoči na vsebino

IPB




Slika

C# Datagridview Problem


Odgovorov v temi: 7

#1 WaRk3c

WaRk3c

    nOObie

  • Members
  • 7 objav

Objavljeno 25 julij 2012 - 21:51

Zdravo.
Razvijam win forms aplikacijo in imam problem ki se pojavi če aplikacijo zaženem na različnih računalnikih. Namreč na formi imam datagridview. Ob dogodku form_load dodam v datagridview vrstice in stolpce. Na računalniku , na katerem razvijam deluje vse normalno ko pa zaženem program na drugem računalniku pa se datagridview popolnoma popači.
Primer:
To je aplikacija na računalniku na katerem jo razvijam in je popolnoma normalna:
Objavljena slika
Takole pa izgleda aplikacija na drugem računalniku:
Objavljena slika
Kot prvo se text v combobox celici ne prikaže cel tako kot se na prvi sliki. Drug problem pa je da če zmanjšam resolucijo na drugem računalniku, bi se mogli pojavit drsniki, ampak se ne. Pa tudi če dam na najmanjšo resolcijo. Bi mogoče kdo vedel kako lahko popravim ta datagridview da bo enak na vseh računalnikih in resolucijah?

#2 Nejc

Nejc

    Iznajdljivec

  • Moderators
  • 858 objav
  • Spol:Moški
  • Kraj:Krško

Objavljeno 26 julij 2012 - 00:14

Imaš ta element "dockan" al samo tako postalvjen? Ponavadi najboljši rezultat dobiš, če elementom ustrezno nastaviš "Dock"... Tako potem zgleda program približno enako neglede na resolucijo, računalnik...

#3 z003jakc

z003jakc

    nOObie

  • Members
  • 3 objav
  • Spol:Moški
  • Kraj:Tolmin
  • Interesi:Programming and IT admin

Objavljeno 19 februar 2013 - 18:48

Živjo

 

tud js razvijam program za pisanje računov v barih. Za podatke uporabljem SQL bazo. Prijatelj mi je svetoval da naj za izpis uporabljam DataGridView, vendar so se mi že na začetku pojavili problemi:
 

najprej sem preiskal skoraj celoten google(in se prou nič ne presnetavam) če obstaja kak tutorial v zvezi s tem da ti izpiše samo določen podatek iz SQl baze ob kliku na gumb v novo vrstico datagrid-a. Imam preko 100 izdelkov in baza se bo še posodabljala zato me zanima ali obstaja kakšen način da bi ob vnosu novega izdelka v bazo avtomatsko izpisalo ime izdelka na gumbu v drugem forumu seveda? Ali mi lahko kdo pove kako naj se lotim tega da mi bo ob vsakem kliku na en izdelek izpisalo podatke v novo vrstico datagrid-a (horizontalno) in ali mi lahko kdo pove kako naj dodam še 3 dodatne stoplce(Količina, znesek, pobriši) že izpisanim podatkom iz baze(ID, izdelek,cena) ter ali mi lahko kdo pove kako naj sprogramiram da bom lahko v stolpec količina vnašal številke ki se bodo potem pomnožile s ceno ter izpisale v stolpcu Znesek. Na koncu imam label kjer bi rad da se mi vsi zneski seštejejo ter izpišejo na zaslon.

 

če ima kdo izkušnje s tem in je že delal, oziroma uporabljal drugi način naj mi prosim pove, mu bom VEČNO hvaležen! HVALA LEPA!



#4 xfirestorm

xfirestorm

    /dev/null

  • Moderators
  • 3 626 objav
  • Spol:Moški
  • Kraj:Murska Sobota
  • Interesi:Airsoft

Objavljeno 20 februar 2013 - 09:02

Ne bom ti pisal kode in nisem niti prepričan da te razumem povsem kar hočeš povedati.

 

Imaš torej DGV katerega napolniš ob loadu, potem bi rad pa po kliku na nek gumb naredil poizvedbo v bazo in potegnil nek nov zapis ven in ga zapisal pod vse ostale, je tako?

 

No, zadeva je dokaj preprosta, predvidevam da gre za WinForms aplikacijo, z katerimi nimam ravno izkušenj z C#, ampak v web, bi šlo to tako:

Ko se page naloži, narediš poizvedbo v bazo in dobiš ven zapise v obliki DataTable, ta DataTable asociiraš z view in shraniš DataTable tudi še v ViewState ali Session, da lahko dostopaš do tega po postbacku.

Ko klikneš na gumb, se naredi postback, greš v bazo, po nov zapis in iz tega potegneš ven DataRow. Iz ViewState ali Session potegneš prejšnji DataTable, dodaš ta DataRow v ta DataTable in DataTable ponovno zapišeš v ViewState ali Session in seveda nov DataTable ponovno asociiraš z view.

Na WinForms verjetno nimaš ViewState in/ali Sessiona, imaš pa direkten dostop do view in lahko DataTable potegneš iz view, dodaš DataRow in DataTable nazaj daš v view.



#5 Atmir

Atmir

    nOObie

  • Members
  • 4 objav
  • Spol:Moški

Objavljeno 21 februar 2013 - 19:39

Kdo rabi pomoc za pos sisteme lahko mi pisite...



#6 Pentium

Pentium

    Govorec

  • Administrators
  • 2 893 objav
  • Spol:Moški
  • Kraj:Ljubljana

Objavljeno 23 februar 2013 - 07:22

Kdo rabi pomoc za pos sisteme lahko mi pisite...

 

Načeloma lahko tudi tukaj napišeš kaj potrebuješ, da mu pomagaš. Oziroma razložiš kako in kaj. In glede na to, da sta dva uporabnika, ki potrebujeta te informacije je to lažji način komunikacije...



#7 z003jakc

z003jakc

    nOObie

  • Members
  • 3 objav
  • Spol:Moški
  • Kraj:Tolmin
  • Interesi:Programming and IT admin

Objavljeno 04 marec 2013 - 20:57

Ne bom ti pisal kode in nisem niti prepričan da te razumem povsem kar hočeš povedati.

 

Imaš torej DGV katerega napolniš ob loadu, potem bi rad pa po kliku na nek gumb naredil poizvedbo v bazo in potegnil nek nov zapis ven in ga zapisal pod vse ostale, je tako?

 

No, zadeva je dokaj preprosta, predvidevam da gre za WinForms aplikacijo, z katerimi nimam ravno izkušenj z C#, ampak v web, bi šlo to tako:

Ko se page naloži, narediš poizvedbo v bazo in dobiš ven zapise v obliki DataTable, ta DataTable asociiraš z view in shraniš DataTable tudi še v ViewState ali Session, da lahko dostopaš do tega po postbacku.

Ko klikneš na gumb, se naredi postback, greš v bazo, po nov zapis in iz tega potegneš ven DataRow. Iz ViewState ali Session potegneš prejšnji DataTable, dodaš ta DataRow v ta DataTable in DataTable ponovno zapišeš v ViewState ali Session in seveda nov DataTable ponovno asociiraš z view.

Na WinForms verjetno nimaš ViewState in/ali Sessiona, imaš pa direkten dostop do view in lahko DataTable potegneš iz view, dodaš DataRow in DataTable nazaj daš v view.

Ma kaj mi predlagaš WPF?? Meni so rekli da je lažje in boljše. Ne ubistvu pred klikom na gumb ne naložim baze. Sem tudi dokaj nov v teh zadevah prej sem se špilal z javo nek časa, potem sm ugotovu da je to boljš igračka  :D Se da to kako naredit da ne naložiš baze in da to kar si napisal naredi program sam, brez da bi uporabnik kaj videl?

 

Najlepša hvala :)



#8 z003jakc

z003jakc

    nOObie

  • Members
  • 3 objav
  • Spol:Moški
  • Kraj:Tolmin
  • Interesi:Programming and IT admin

Objavljeno 05 marec 2013 - 10:30

string connectionString = @"Data Source=JERNEJ-PC;Initial Catalog=Bill-Book;Integrated Security=True"; SqlConnection connection = new SqlConnection(connectionString);
string sql = "SELECT * FROM Article WHERE article='Coca Cola'";
SqlDataAdapter dataadapter = new SqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
connection.Open();
dataadapter.Fill(ds, "Articles");
connection.Close();
DataView dv; dv = new DataView(ds.Tables[0], "price > 0", "price", DataViewRowState.CurrentRows);
dataGridView1.DataSource = dv;

//------- New Columns -----------------------------------------------------------------------------------------------------------------

DataGridViewTextBoxColumn c4=new DataGridViewTextBoxColumn();
c4.Width = 90;
c4.Name="quantity";
c4.HeaderText="Quantity";
dataGridView1.Columns.Insert(4, c4);

//-------------------------------------------------------------------------------------------------------------------------------------

DataGridViewTextBoxColumn c5 = new DataGridViewTextBoxColumn();
c5.Width = 350;
c5.Name = "amount";
c5.HeaderText = "Amount";
dataGridView1.Columns.Insert(5, c5);

 //------------------------------------------------------------------------------------------------------------------------------------

DataGridViewButtonColumn c6 = new DataGridViewButtonColumn();
c6.Width = 58;
c6.Name = "Delete";
c6.HeaderText = "Delete";
dataGridView1.Columns.Insert(6, c6);

 //------------------------------------------------------------------------------------------------------------------------------------

dataGridView1.Columns[0].Width = 50;
dataGridView1.Columns[1].Width = 355;
dataGridView1.Columns[2].Width = 80;
dataGridView1.Columns[3].Width = 110;

Tle je moja koda, bi lahko nekdo sam povedal kaj moram popraviti, da bi delalo pravilno? Hvala!





Dodaj odgovor



  


0 član(ov) bere to temo

0 članov, 0 gostov, 0 anonimnih uporabnikov