Łączenie tabel w DataGridView

Wszystko o bazach danych

Moderator: xxSlayeRxx

Łączenie tabel w DataGridView

Sponsor

Sponsor
 

Łączenie tabel w DataGridView

Postprzez Maciej8989 » N sty 06, 2013 12:04 pm

Witam,
Czy da się do DataGridView wrzucić złączone tabele lub wybrane kolumny z jednej tabeli w ten sposób, aby można było je nie tylko przeglądać, ale i dodawać/usuwać/edytować wiersze? Z pojedynczymi tabelami nie miałem problemu, bo po prostu dodawałem odpowiednią tabelę jako właściwość obiektu DataSet. Z tym, że w takim przypadku nie mam możliwości wyboru części tabeli lub złączenia tabel. Mogę wybrać tylko całą tabelę albo żadnej. Złączenie za pomocą polecenia SELECT nie ma tu raczej za bardzo sensu, bo kwerenda nie umożliwia edycji danych, a jedynie ich odczyt. Czy jest jakiś sposób na poradzenie sobie z tym zagadnieniem?
Z góry dziękuję za pomoc :)
Maciej8989
Member
 
Posty: 16
Dołączył(a): Pt maja 11, 2012 8:34 am

Re: Łączenie tabel w DataGridView

Postprzez xxSlayeRxx » Pn sty 07, 2013 1:06 am

hmm

update 1.tabela (i wybierasz ktore kolumny w dgv Cie interesuja)
a nastepnie
update 2.tabela ( i wybierasz nastepne koumny)
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Łączenie tabel w DataGridView

Postprzez Maciej8989 » Śr sty 09, 2013 9:25 pm

Może inaczej. Załóżmy, że tworzę nowy projekt. Do niego dodaję z okienka DataSource przeciągając na formatkę tabelę i pojawia mi się tabela z bazy danych w DataGridView oraz BindingNavigator u góry formatki. Doszedłem już do tego jak wybrać tylko część kolumn z tabeli (np. nie chcę mieć kolumny z kluczem głównym). Żeby to zrobić wystarczy, że w Form1.Designer.cs w sekcji związanej z dataGridView usunę jedną kolumnę przy wywołaniu metody DataGridView.Columns.AddRange. Po dodaniu nowego wiersza wystarczy, że kliknę ikonę z dyskietką w BindingNavigator i tabela zapisana. Teraz jest następujący problem. Zamiast jednej tabeli chcę mieć złączenie w datagridview. Próbowałem to zrobić dodając widok z okna DataSource, jednak zgodnie z moimi przewidywaniami nie ma wtedy możliwości zapisu tabeli (ikona z dyskietką nieaktywna). Oczywiście zdaję sobie sprawę z istnienia funkcji Update, Insert i Delete więc porada, aby użyć jednej z nich na wiele mi się nie przyda. Gdy dodawałem pojedynczą tabelę z DataSource w zdarzeniu kliknięcia ikony zapisu znajdował się następujący kod:
private void autorzyBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.autorzyBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.bibliotekaDataSet1);

}
Co muszę zrobić aby mieć możliwość zapisu złączenia. Wiem jak zrobić pojedynczą linijkę w SQL dodającą wiersz, ale to nie jest taka prosta kwestia, bo przecież program musi sam zdecydować kiedy użyć UPDATE, kiedy INSERT, a kiedy DELETE. Nie wiem czy nakreśliłem problem wystarczająco przejrzyście, ale nie wiem jak inaczej wytłumaczyć o co mi chodzi.
Maciej8989
Member
 
Posty: 16
Dołączył(a): Pt maja 11, 2012 8:34 am

Re: Łączenie tabel w DataGridView

Postprzez Maciej8989 » Cz sty 10, 2013 11:55 am

Dobra, już znalazłem sposób jak to zrobić. Po prostu w DataGridView dałem jedną kolumnę jako ComboBox'y z nazwami wziętymi z innej tabeli. Wartości są wybierane z dostępnych już istniejących w drugiej tabeli. Inaczej się chyba nie dało
Maciej8989
Member
 
Posty: 16
Dołączył(a): Pt maja 11, 2012 8:34 am

Re: Łączenie tabel w DataGridView

Sponsors

Sponsor
 


Powrót do Bazy danych

Kto przegląda forum

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

cron