Šta je novo?

DataGridView, како да refresh-ујем податке

toxi

Slavan
Učlanjen(a)
26.04.2007
Poruke
29
Poena
304
DataGridView, како да refresh-ујем податке

Поздрав. Прво хвала што сте нашли за сходно да погледате ову тему уопште :)

Ствар је у раду са базом података. Имам адаптер, конекцију, датасет и грид.
Када напишем ово:
Kod:
myDataGridView.DataSource = dataSet.Table[0];
у myDataGridView биће приказани сви подаци који се тренутно налазе у dataSet.Table[0]. Међутим, када касније податке из ове табеле(dataSet.Table[0]) променим( нпр. учитам податке из неке друге табеле у мојој бази) потребно је, логично, refresh-овати податке који су приказани у myDataGridView. Који је прави начин да се ово уради? До сада сам ово решавао тако што сам понови постављање DataSource-a. Значи, радио сам тако што сам када је год потребно поново исписати податке у myDataGridView писао следеће:
Kod:
myDataGridView.DataSource = dataSet.Table[0];

Предпостављам да то није прави начин и замолио бих Вас да ме упутите како би ово требало да радим.
 
probaj ovo:
Kod:
myDataGridView.DataSource = dataSet.Table[0];
myDataGridView.DataBind();

DataBind() sluzi da osvezi data kontrolu.
 
Poslednja izmena:
Хвала на одговору али имам проблем - каже да та функција не постоји. :eek:
Користим Visual Studio 2005, C#, .NET 2.0.
 
Pazi, ovo je diskonektovani nacin pristupa podacima. U tome je i poenta diskonektovanog servisa. DataBind() metoda je samo za WebAplikacije, ona ne postoji kod Windows aplikacija. Jos jedno da ponovim, zasto ne mozes jednostavno da refreshujes konekciju. Zato sto je posle punjenja dataSeta, ti tu konekciju raskidas.


Za svako punjenje DataSet-a, moras da napravis konekciju. Najbolje bi bilo da to radis preko direktive USING.

using (SqlConnection cn = new SqlConnection(connectionString))
{
using (SqlCommand cm = new SqlCommand(commandString, cn))
{
cn.Open();
cm.ExecuteNonQuery();
}
}
 
Ako se vezujes na drugi table adapter ti zapravo menjas data source pa je logicno da to i sapostis... a ako ostajes u istom table adapteru klasika... snimi sve promene pa ucitaj opet novo stanje...
 
ОК, схватам... Морам поново да постављам DataSurce за дату ми грид контролу...

Ипак није ми јасно нпр. зашта се користи using { .... }. Колико видим на крају кода који је навео @NikName нигде се не затвара конекција па сам предпоставио да то што је унутар "using" бива dispose-овано одмах по изласку из тог блока. Грешим зар не?
 
U pravu si, using predstavlja mali blok koji se dispose-uje po njegovom izvrsenju.
 
То онда повлачи ново питање! :D

До сада сам у сваком пројекту који се дотиче база имао једну класу у којој су се налазиле методе и сав код који се односи на рад са базом. На тај начин ако променим нешто у бази, све
измене које треба да направим у програму вршим у тој класи а "споља" све остаје исто( или лако променљиво). Једна од њеним метода је и Connect() која се конектује на задату базу, а када се та метода изврши OleDbConnection објекат се конектује на базу и та конекција траје све док се не позове Disconnect() метода. Дакле, за све време рада програм конекција је отворена тј. успоставља се само једном а не увек кад треба да извршим упит.
Мислио сам да је ово боље, ал' сад и не знам да ли је...?
 
То онда повлачи ново питање! :D

До сада сам у сваком пројекту који се дотиче база имао једну класу у којој су се налазиле методе и сав код који се односи на рад са базом. На тај начин ако променим нешто у бази, све
измене које треба да направим у програму вршим у тој класи а "споља" све остаје исто( или лако променљиво). Једна од њеним метода је и Connect() која се конектује на задату базу, а када се та метода изврши OleDbConnection објекат се конектује на базу и та конекција траје све док се не позове Disconnect() метода. Дакле, за све време рада програм конекција је отворена тј. успоставља се само једном а не увек кад треба да извршим упит.
Мислио сам да је ово боље, ал' сад и не знам да ли је...?
U principu i jeste i nije, trosis konekciju bespotrebno, zamisli da ima 200 klijent aplikacija i svaka se konektuje uzas... moderno programiranje nalaze diskonektovan mod rada gde se konekcija drzi otvorenom koliko treba da se nesto upise ili procita...
 
Преостаје ми само да се захвалим :)
 
Nazad
Vrh Dno