Datagridview: Zeilenumbruch ermöglichen

02/05/2010 - 09:29 von Alberto Luca | Report spam
Hallo Newsgroup,

ich möchte in DGV einen Zeilenumbruch ermöglichen, welchen ich mittels
Environment.NewLine erzwingen möchte.

Dieser Umbruch wird jedoch als Sonderzeichen dargestellt, wenn nicht der
WrapMode auf DataGridViewTriState.True gesetzt ist.

Falls jedoch DataGridViewTriState.True gesetzt ist, erfolgt automatisch
ein Zeilenumbruch, wenn der Text nicht in die Zelle paßt.

Wie kann ich erreichen, dass nur explizite Zeilenumbrüche
(Environment.NewLine) umgebrochen werden, jedoch nicht die Texte, die
nicht komplett angezeigt werden können?

Besten Dank vorab.

Ciao, Alberto
 

Lesen sie die antworten

#1 Marcel Roma
02/05/2010 - 12:12 | Warnen spam
Hallo Alberto,

Am Sun, 02 May 2010 09:29:55 +0200 schrieb Alberto Luca:

Wie kann ich erreichen, dass nur explizite Zeilenumbrüche
(Environment.NewLine) umgebrochen werden, jedoch nicht die Texte, die
nicht komplett angezeigt werden können?



Du mußt WrapMode für jede Zelle setzen:


using System;
using System.Linq;
using System.Windows.Forms;

namespace DgvWrap
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
var personList = new[] {
new Person(){FullName="Hans Webers", Address="Kurzstr.
12919199 Untermoglingen" },
new Person(){FullName="Jens Ticker",
Address="Oberdonauschifffahrtskapitànskajütenstraße 1046, 919199
Untermoglingen" }
}.ToList();

dataGridView1.DataSource = personList;
dataGridView1.AutoSizeRowsMode DataGridViewAutoSizeRowsMode.AllCells;

foreach (DataGridViewRow row in dataGridView1.Rows)
SetCellWrappMode(row.Cells["Address"]);
}
private static void SetCellWrappMode(DataGridViewCell cell)
{
if
(cell.FormattedValue.ToString().Contains(Environment.NewLine))
cell.Style.WrapMode = DataGridViewTriState.True;
else
cell.Style.WrapMode = DataGridViewTriState.False;
}

class Person
{
public string FullName { get; set; }
public string Address { get; set; }
}
}
}



Gruss
Marcel

Ähnliche fragen