Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 Mike
Mike

Cum să iterați în mod programat rândurile de dateagrid?

M-am întors brusc la WinForms, după ani de dezvoltare web, și am probleme cu ceva care ar trebui să fie simplu. Am un ArrayList al obiectelor de afaceri legat la un DataGrid Windows Forms. Aș dori ca utilizatorul să poată edita celulele și când este terminat, apăsați butonul Salvare. În acest moment, aș dori să repetați toate rândurile și coloanele din DataGrid pentru a găsi orice modificări și a le salva în baza de date. Dar nu găsesc o modalitate de a accesa rândurile DataGrid .

Vreau, de asemenea, să validez celulele individuale în timp real, deoarece acestea sunt editate, dar sunt destul de sigur că se poate face. (Poate nu cu ArrayList ca DataSource ?) Dar pentru iterarea DataGrid , sunt destul de surprins ca nu pare posibil .

Trebuie să îmi compensez datele despre obiectele afacerii mele în date datume pentru a utiliza datagridul?

4 2008-08-08T22:08:29+00:00 4
Programare
winforms
Comentarii la întrebare (0)
NotMyself
9 august 2008 в 2:20
2008-08-09T02:20:28+00:00
Mai mult
Sursă
Editează
#6435
foreach(var row in DataGrid1.Rows)
{
  DoStuff(row);
}
//Or ---------------------------------------------   
foreach(DataGridRow row in DataGrid1.Rows)
{
  DoStuff(row);
}
//Or ---------------------------------------------
for(int i = 0; i< DataGrid1.Rows.Count - 1; i++)
{
  DoStuff(DataGrid1.Rows[i]);
}
0
0
Comentarii (0)
Orion Edwards
9 august 2008 в 6:17
2008-08-09T06:17:38+00:00
Mai mult
Sursă
Editează
#6541

Există ceva despre WinForms 3.0, care este mult mai bun decât în ​​1.1

Nu știu despre 3.0, dar puteți scrie cod în VS 2008 care rulează pe .NET 2.0 framework. (Deci, puteți utiliza cea mai recentă limbă C #, dar puteți utiliza numai bibliotecile 2.0)

This gets you Generics (List instead of those GodAwful ArrayLists) and a ton of other stuff, you'll literally end up writing 3x less code.

0
0
Comentarii (0)
Mike
11 august 2008 в 6:59
2008-08-11T06:59:12+00:00
Mai mult
Sursă
Editează
#7491
object cell = myDataGrid[row, col];
0
0
Comentarii (0)
Mike
12 august 2008 в 6:37
2008-08-12T06:37:15+00:00
Mai mult
Sursă
Editează
#8421

Aha, tocmai testeam pe toată lumea încă o dată! :) Răspunsul real este că rareori trebuie să repetați datagridul. Deoarece, chiar și atunci când se leagă la un ArrayList, legarea este 2 moduri. Cu toate acestea, este util să știm cum să iterați grila direct, poate salva câteva linii de cod acum și apoi.

Dar nu și Myself și Orion au dat răspunsurile mai bune: convingeți părțile interesate să treacă la o versiune superioară a C #, pentru a economisi costurile de dezvoltare și pentru a spori mentenabilitatea și extensibilitatea.

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
https://stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire