dataSet - dataGridView Problem - Scrollbar, Default values

08/04/2010 - 20:32 von Markus Mayer | Report spam
Hallo,
anbei ein Screenshot, dann ist es leichter zu sprechen.
http://www1.minpic.de/bild_anzeigen.php?id9278&keyQ047350&ende
a) es kommt keine horizontale Scrollbar, warum auch immer.
Die Eigenschaft ist aktiviert.

Bei der Eigenschaft AutoSizeCoumnsMode = ColumnHeader habe ich keine
Möglichkeit die Spaltenbreite zu verschieben.
Was müsste ich tun, um das dennoch machen zu können?
b) Default Werte werden nur für neue Zeilen aktiviert, nicht für
bestehende, wenn die NULL sind.
Die 4 Spalten sind spàter hinzugekommen.

this.dataSetDatabase = dsProductDB;
this.bsDatabase.DataSource = dataSetDatabase;

this.dataSetDatabase.tblVariable.Columns["IntValue"].DefaultValue
= 23;

this.dataSetDatabase.tblVariable.Columns["BoolValue1"].DefaultValue = false;

this.dataSetDatabase.tblVariable.Columns["BoolValue2"].DefaultValue = true;

this.dataSetDatabase.tblVariable.Columns["BoolValue3"].DefaultValue = false;


Hat jemand noch einen Tipp?

Danke.


Viele Grüße
Markus
 

Lesen sie die antworten

#1 Frank Dzaebel
09/04/2010 - 07:38 | Warnen spam
Hallo Markus,

anbei ein Screenshot, dann ist es leichter zu sprechen.
http://www1.minpic.de/bild_anzeigen.php?id9278&keyQ047350&ende
a) es kommt keine horizontale Scrollbar, warum auch immer.
Die Eigenschaft ist aktiviert.



By Design. Gemàß Dokumentation werden die Bildlaufleisten
unabhàngig vom Wert dieser Eigenschaft werden nur bei Bedarf angezeigt.

[DataGridView.ScrollBars-Eigenschaft (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/lib...lbars.aspx

Dieses ist auch sinnvoll, denn normal erwartet man dieses
Verhalten auch als User so. Ansonsten kann man diese ScrollBars
auch auf None setzen und eigene immer bleibende einsetzen.
Ansàtze dazu etwa wie:

[DataGridView mit Fußzeile]
http://dzaebel.net/DgvFooter.htm



Bei der Eigenschaft AutoSizeCoumnsMode = ColumnHeader habe ich keine
Möglichkeit die Spaltenbreite zu verschieben.



ja, zunàchst by design.

Was müsste ich tun, um das dennoch machen zu können?



Bei ColumnHeader kannst Du zum Beispiel soetwas machen:

dgv.AutoSizeColumnsMode DataGridViewAutoSizeColumnsMode.ColumnHeader;
foreach (DataGridViewColumn dgc in dgv.Columns)
dgc.Tag = dgc.Width;
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
foreach (DataGridViewColumn dgc in dgv.Columns)
dgc.Width = (int)dgc.Tag;




b) Default Werte werden nur für neue Zeilen aktiviert, nicht für
bestehende, wenn die NULL sind.



Formuliere dazu Deine Frage.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen