Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - DataGridView
3Huete - Fr 14.03.08 15:55
Titel: DataGridView
Hallo,
bin ziemlich neu in C# und der Datenbankprogrammierung.
Allerdings kommt man ja mit Hilfe der Designer des VS2005 auch ohne tiefgreifende Kenntnisse recht weit. Zum DataGridView habe jetzt einige Fragen. Hab schon einiges gelesen aber keine Lösung gefunden.
1. Wie kann man in einem DGV bestimmte Spalten sperren, so das diese zwar angezeigt aber keinen Focus erhalten können?
2. Wie kann man die vertikale Bildlaufleiste so einstellen, dass sie auch dann - deaktiviert - angezeigt wird, wenn nicht der gesamte Bereich des DGV mit Zeilen gefüllt ist?
3. Wie kann man mit Hilfe eines Buttons innerhalb des DGV navigieren? So etwas wie DataGridView.home oder .nextRecord konnte ich nicht finden.
Danke und Gruß
Moderiert von
Christian S.: Überflüssige Zeilenumbrüche entfernt
JüTho - Fr 14.03.08 16:56
Titel: Re: DataGridView
Hallo,
3Huete hat folgendes geschrieben: |
bin ziemlich neu in C# und der Datenbankprogrammierung. Allerdings kommt man ja mit Hilfe der Designer des VS2005 auch ohne tiefgreifende Kenntnisse recht weit. |
Ich möchte dennoch vor diesem Vorgehen warnen: Ohne Verständnis dafür, was "im Hintergrund" passiert, bleibt man viel zu oft hängen. Zumindest empfehle ich dringend, die Designer.cs zur Kontrolle durchzulesen.
Vor allem solltest Du beachten, dass zwischen der Datenmenge im Arbeitsspeicher (DataSet/DataTable) und der visuellen Verbindung (DataGridView) streng zu unterscheiden ist. Manipulationen an Daten z.B. sollten vorzugsweise in einer DataTable (nicht im DGV) vorgenommen werden.
3Huete hat folgendes geschrieben: |
1. Wie kann man in einem DGV bestimmte Spalten sperren, so das diese zwar angezeigt aber keinen Focus erhalten können? |
Das geht über
DataTable.Columns["Feldname"].ReadOnly und notfalls über
DataGridView.Columns["Feldname"].ReadOnly.
3Huete hat folgendes geschrieben: |
2. Wie kann man die vertikale Bildlaufleiste so einstellen,
dass sie auch dann - deaktiviert - angezeigt wird, wenn nicht der gesamte Bereich des DGV mit Zeilen gefüllt ist? |
Das geht offensichtlich nicht:
SDK-Doku hat folgendes geschrieben: |
Unabhängig vom Wert dieser Eigenschaft werden Bildlaufleisten nur bei Bedarf angezeigt. Verhindern Sie mit dieser Eigenschaft das Anzeigen von Bildlaufleisten. |
3Huete hat folgendes geschrieben: |
3. Wie kann man mit Hilfe eines Buttons innerhalb des DGV navigieren? So etwas wie DataGridView.home oder .nextRecord konnte ich nicht finden. |
Das hängt mit meiner grundsätzlichen Bemerkung zusammen. Die Basis der Daten ist eine Datenmenge, keine Liste von einzelnen Zeilen. Zum Navigieren musst Du zusätzlich einen
BindingNavigator o.ä. einschalten.
Viel Erfolg! Jürgen
3Huete - Sa 15.03.08 13:55
Titel: Re: DataGridView
JüTho hat folgendes geschrieben: |
Ich möchte dennoch vor diesem Vorgehen warnen: Ohne Verständnis dafür, was "im Hintergrund" passiert, bleibt man viel zu oft hängen. Zumindest empfehle ich dringend, die Designer.cs zur Kontrolle durchzulesen.? |
Keine Bange, ich benutze zwar den Designer, bekomme aber alles, was ich bisher gemacht habe auch gänzlich ohne diese Unterstützung hin. :-)
JüTho hat folgendes geschrieben: |
Das geht über DataTable.Columns["Feldname"].ReadOnly und notfalls über DataGridView.Columns["Feldname"].ReadOnly.? |
Das meinte ich nicht. Ich habe das ganze Grid ohnehin readonly gesetzt. Es geht darum, das ich bestimmte Spalten keinen Focus zukommen lassen will. Etwa in der Art SpaltenName.Tabstop = False. Oder so ähnlich halt.
JüTho hat folgendes geschrieben: |
Das geht offensichtlich nicht:
Unabhängig vom Wert dieser Eigenschaft werden Bildlaufleisten nur bei Bedarf angezeigt. Verhindern Sie mit dieser Eigenschaft das Anzeigen von Bildlaufleisten. |
...Schnief :cry: aufgeschoben ist nicht aufgehoben... 8)
JüTho hat folgendes geschrieben: |
Das hängt mit meiner grundsätzlichen Bemerkung zusammen. Die Basis der Daten ist eine Datenmenge, keine Liste von einzelnen Zeilen. Zum Navigieren musst Du zusätzlich einen BindingNavigator o.ä. einschalten. |
Das ist doof. :-( Den BindingNavigator will ich erst mal nicht benutzen. Kann man sich nicht den Quellcode für dieses Teil irgendwo anschauen? Da wird sicher drin stehen, wie's geht. :-)
Gruß
JüTho - Sa 15.03.08 15:20
Titel: Re: DataGridView
3Huete hat folgendes geschrieben: |
Den BindingNavigator will ich erst mal nicht benutzen. Kann man sich nicht den Quellcode für dieses Teil irgendwo anschauen? Da wird sicher drin stehen, wie's geht. |
Nun ja, wenn es Dir wichtiger ist zu wissen, wie es gemacht wird, als es fertig zu nutzen...
MS ist erst dabei, den Code zu veröffentlichen. Zurzeit muss man sich alles selbst über Reflection zusammensuchen, z.B. mit
Roeder's Reflector [
http://www.aisto.com/roeder/dotnet/]. Manche Teile wurden bereits von
Koders [
http://www.koders.com] analysiert und veröffentlicht; aber die Suche nach "BindingNavigator.cs" bringt dort keinen Treffer.
Jürgen
3Huete - Sa 15.03.08 17:13
Titel: Re: DataGridView
JüTho hat folgendes geschrieben: |
Nun ja, wenn es Dir wichtiger ist zu wissen, wie es gemacht wird, als es fertig zu nutzen...
Jürgen |
Nee, so ist das natürlich nicht. Würde schon was Fertiges benutzen, nur der Bindingnavigator händelt die Datenbearbeitung nicht so, wie ich es gerne hätte, nämlich jeden Vorgang mit eigenem Dialog. :D Und zu den TabStops, keine Idee?
Gruß DreiHüte
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!