Leerzeilen

18/05/2008 - 12:58 von ludwig Königbauer | Report spam
Hallo,
ich habe ein Problem mit Leerzeilen.
ich lese aus einem Datagridview alle Zeilen aus;
dabei sind manche Zellen in einer Zeile leer.Die Zeilen übergeb ich
per array der TextBox.
Wie bekomme ich die Leerzeilen weg und wie kann ich den Zeilenumbruch
(=je DatagridView-Zeile) setzen.
ich habe michm jetzt schon die ganze Zeit mit Trim auseinandersegetzt,
komme aber auf keinen grünen Zweig.
nachfolgend mein bisheriger Code:
private void button1_Click(object sender, EventArgs e)
{
List<string> data = new List<string>();
for (int i = 0; i < (dgvUK.Rows.Count); i++)
{
for (int j = 3; j < (dgvUK.Columns.Count); j++)//ab der
dritten Spalte
{
//string rowText (string)dgvUK.Rows[i].Cells[j].Value.ToString().Trim();//Fehler
string rowText = (string)dgvUK.Rows[i].Cells[j].Value;//
+ Environment.NewLine ;
if (rowText != null && rowText != "")
{
string rowValue = rowText.Trim();
data.Add(rowValue);
}
}
}
string[] dataArray = data.ToArray();
textBox1.Lines = dataArray;
}
kurzum:
wie bringe ich die dataGridView-Zeilen ohne einzelen leere Zeilen mit
jeweiligen
Seitenumbrch nach jeder DataGrid-Zeile in die TextBox.
Kann mir jemand eine Anregung geben?
Grüße
Ludwig
 

Lesen sie die antworten

#1 Tobias Hebel
18/05/2008 - 13:29 | Warnen spam
ludwig Königbauer schrieb:
Hallo,
ich habe ein Problem mit Leerzeilen.
ich lese aus einem Datagridview alle Zeilen aus;
dabei sind manche Zellen in einer Zeile leer.Die Zeilen übergeb ich
per array der TextBox.
Wie bekomme ich die Leerzeilen weg und wie kann ich den Zeilenumbruch
(=je DatagridView-Zeile) setzen.
ich habe michm jetzt schon die ganze Zeit mit Trim auseinandersegetzt,
komme aber auf keinen grünen Zweig.
nachfolgend mein bisheriger Code:
private void button1_Click(object sender, EventArgs e)
{
List<string> data = new List<string>();
for (int i = 0; i < (dgvUK.Rows.Count); i++)
{
for (int j = 3; j < (dgvUK.Columns.Count); j++)//ab der
dritten Spalte
{
//string rowText > (string)dgvUK.Rows[i].Cells[j].Value.ToString().Trim();//Fehler
string rowText = (string)dgvUK.Rows[i].Cells[j].Value;//
+ Environment.NewLine ;
if (rowText != null && rowText != "")
{
string rowValue = rowText.Trim();
data.Add(rowValue);
}
}
}
string[] dataArray = data.ToArray();
textBox1.Lines = dataArray;
}
kurzum:
wie bringe ich die dataGridView-Zeilen ohne einzelen leere Zeilen mit
jeweiligen
Seitenumbrch nach jeder DataGrid-Zeile in die TextBox.
Kann mir jemand eine Anregung geben?



Hi,

zuerst mal der Zeilenumbruch:
So wie Du es jetzt machst, würdest Du ja hinter jede Zelle einen
Zeilenmbruch bauen. Mein Vorschlag wàre, hinter die innere for-Schleife
den Zeilenumbruch zusetzen, also:
for(...)
{
for(...)
{
...
}
rowText += "";
}

Dann greift Deine if-Anweisung allerdings nicht, weil der String ja dann
mindestens "" (also die Kontrollanweisung newLine) enthàlt und der
if-Block deshalb immer betreten wird. Das "" wird AFAIK durch
String.Trim() dann wieder entfernt...

Deshalb neuer Vorschlag:

for(...)
{
String rowText = "";
for(...)
{
rowText += " ";
rowText += (string)dgvUK.Rows[i].Cells[j].Value;
}
rowText.Trim();

if (rowText != null && rowText != "")
{
rowText += "";
data.Add(rowValue);
}
}

So sollte es klappen, oder?

BTW, fàngt die Zàhlung der Spalten bei 0 oder bei 1 an?
for (int j = 3; j < (dgvUK.Columns.Count); j++)
//ab der dritten Spalte
Ich würde sagen, ob der 4. Spalte, oder?

mfg
Tobias

Ähnliche fragen