DBGrid zaznaczony wiersz

Problemy związane z tworzeniem i zarządzaniem programami bazo-danowymi.
Regulamin działu


Zadając pytania dotyczące baz danych należy podawać szczegółowe informacje o bazie danych nad którą się pracuje, czyli:

  • Rodzaj serwera bazodanowego: MySql, MSSQL, Oracle itp.
  • Wersja bazy danych
  • Technologia bazodanowa używana w programie: ADO, DbExpress, InterBase
  • Komponenty użyte do zestawienia połączenia: ADOConnection, SqlConnection
  • Sposób zestawienia komponentów bazodanowych np. DataSet - DataSource - DbGrid lub DataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid
  • Jeżeli używane były biblioteki innych firm niż Borland, CodeGeer i Embarcadero proszę podać ich nazwy, numer wersji i adres źródła.

DBGrid zaznaczony wiersz

Nowy postprzez rafalskraba » czwartek, 5 kwietnia 2012, 09:36

Witam

Jak wyświetlić w dowolnym komponecie (Label, Edit) dane znajdujące się w w zaznaczonym wierszy DBGrid. Technologia bazodanowa Firebird.
Komponenty wykorzystane do zestawienia połączenia DataSet - DataSource - DbGrid

Pozdrawiam

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows XPFirefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez Cyfrowy Baron » czwartek, 5 kwietnia 2012, 09:45

Podobny temat był już poruszany w tym dziale forum. Na razie może to okaże się dla ciebie pomocne: http://programowanie.cal.pl/forum/viewtopic.php?f=21&t=1331#p9673
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez rafalskraba » wtorek, 10 kwietnia 2012, 13:13

Witaj,

podany przez Ciebie post jest interesujący,
ale nie mogę zastosować tego rozwiązania w moim projekcie.

Ja potrzebuję zrobić taką funkcję która po zaznaczeniu
wiersza w komponencie DBGrid wyświetla w nowej formatce wszystkie dane z zaznaczonego wiersza.
Dane te mają być wyświetlane w komponentach umozliwiających ich edycję tj. Edit lub Memo.

W pomocy jest opisne ustawienie zakładki na zanaczonym rekordzie.
Jak ową zakladkę ustawić na zaznaczonym rekordzie.
Myślę ze po ustawienie tej zakładki i odczytaniu nr wiersza w tablicy DBGrid mogę przy pomocy
polecenia SQL wyświetlić dane z wiersza DBGrid.

Pozdrawiam

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows XPFirefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez Cyfrowy Baron » wtorek, 10 kwietnia 2012, 15:55

Nie wiem czy to jest możliwe z DBGrid. Tutaj przydałaby się pomoc Corvis'a.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez rafalskraba » wtorek, 10 kwietnia 2012, 22:24

Spróbuje jeszcze coś pokombinować z tym DBGridem może coś wymyślę.

Zaznaczanie i wyświetlanie ilości zaznaczonych wierszy działa

Kod: Zaznacz cały
int wiersz = DBGrid1->SelectedRows->Count;
   if(!wiersz)
   {
      ShowMessage("Nie zaznaczono wiersza");
      return;
   }
    else
      for(int i=0;i<wiersz;i++)
      {

      }
      ShowMessage(wiersz);


to tanto też powinno jakimś magicznym sposobem zadziałać.
Nie chce używać innych komponentów tzn. obcych firm myślę ze z pomocą Corvisa coś uradzimy

Pozdrawiam

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows 7Firefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez rafalskraba » czwartek, 12 kwietnia 2012, 21:25

Witaj,

pokombinowałem, pokombinowałem i wyszło.
Cała zabawa odbywa się nie komponencie DBGrid sle na DataSecie.

W zdarzeniu OnDblClick komponentu DBGrid
np kod wyświetlający formatkę, natomiast w zdarzeniu OnFormShow wywoływanej formatki
następujący przykładowy kod:

Kod: Zaznacz cały
int i=MainForm->DBGrid1->DataSource->DataSet->RecNo;
   Label1->Caption=i;
   Label2->Caption=MainForm->DBGrid1->DataSource->DataSet->FieldByName("PROJ_NR")->AsAnsiString;


Pozdrawiam Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows 7Firefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez Corvis » niedziela, 22 kwietnia 2012, 22:52

rafalskraba - przekombinowałeś to na maxa.

Jeżeli ten twój DataSet to ClientDataSet to możesz zrobić to przy pomocy metody AfterScroll - jest ona wywoływana za każdą zmianą wiersza w bazie danych.

KOD cpp:     UKRYJ  
void __fastcall TForm1::ClientDataSet1AfterScroll(TDataSet *DataSet)
{
   // Tutaj Kod
   Label1->Caption = ClientDataSet1->FiledByName("NazwaPola")->AsString;
}
 
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: DBGrid zaznaczony wiersz

Nowy postprzez rafalskraba » poniedziałek, 23 kwietnia 2012, 09:28

Witaj Corvis

Dlaczego twierdzisz, że przekombinowałem na maxa. Ja nie chce wyświetlać każdorazowo poszczególnych elementów z DBGrida przy przewijaniu wierszy w w/w komponęcie.
Chcę np. wyświetlić i edytować w nowej formatce pierwszy wiersz a następnie wiersz 300.

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows XPFirefox

Re: DBGrid zaznaczony wiersz

Nowy postprzez Corvis » poniedziałek, 30 lipca 2012, 09:31

Sorry zagapiłem się i nie widziałem tego posta.

Ale chcesz przez wpisanie numeru wiersza np. Przejdź do wiersza n.

Wpisujesz jakiś numer wiersza i cie tam przenosi i potem to edytujesz ?
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości

cron