ScrollBar

14/06/2009 - 17:06 von MoroIvan | Report spam
Hi,

gibt es eine einfache Möglichkeit in einem DataGrid eine Spalte für die
Anzeige / Bearbeitung von (sehr) langen Texten mit (vertikalen) ScrollBars
einzurichten?

Danke!
 

Lesen sie die antworten

#1 Frank Dzaebel
14/06/2009 - 21:31 | Warnen spam
Hallo MoroIvan,

gibt es eine einfache Möglichkeit in einem DataGrid eine Spalte für
die Anzeige / Bearbeitung von (sehr) langen Texten mit (vertikalen)
ScrollBars einzurichten?



Mehrere Möglichkeiten, ich gebe mal für den wohl hàufigsten
Fall: "beim Editiervorgang der Zelle selber" ein Beispiel:

const int adressSpalte = 4; // Spalte mit ScrollBars.
DataGridView dgv;
int defaultRowHeight;

private void Form1_Load(object sender, EventArgs e)
{
dgv = customersDataGridView;
dgv.EditingControlShowing += new
DataGridViewEditingControlShowingEventHandler(
dgv_EditingControlShowing);
dgv.CellEndEdit += new DataGridViewCellEventHandler(dgv_CellEndEdit);
dgv.EditMode = DataGridViewEditMode.EditOnEnter;
defaultRowHeight = dgv.Rows[0].Height;

customersDataGridView.DataSource = null;
customersBindingNavigator.BindingSource = null;
this.DatenLadenBeendet += new EventHandler(Form1_DatenLadenBeendet);
new Thread(new ThreadStart(DatenLaden)).Start();
}

void dgv_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex != adressSpalte) return;
dgv.Rows[e.RowIndex].Height = defaultRowHeight;
}

void dgv_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (dgv.CurrentCell.ColumnIndex != adressSpalte) return;
dgv.CurrentRow.Height = 45;
DataGridViewTextBoxEditingControl tb = e.Control
as DataGridViewTextBoxEditingControl;
dgv.Columns[dgv.CurrentCell.ColumnIndex].
DefaultCellStyle.WrapMode = DataGridViewTriState.True;
tb.ScrollBars = ScrollBars.Vertical;
}
_______

BTW: zur Anregung der Möglichkeiten noch als Info:

[DataGridView-Zelle mit Browse-Button]
http://dzaebel.net/DgvButtonColumn.htm


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

Ähnliche fragen