2016-03-29 2 views
-1

Angenommen haben zu schreiben, wenn ich 10 Textfelder haben, aber wenn ich nur Daten in „5“ dieser Textfelder und ich möchte nur die schreiben eingegeben werden "5" Textfelder Daten in eine Textdatei.Wie in einer Textdatei nur die Felder, die Daten

und

Angenommen, wenn ich 10 Textfelder haben, aber wenn ich nur Daten in „7“ dieser Textfelder eingegeben werden, und ich möchte nur die „7“ Daten Textfelder schreiben zu eine Textdatei

Was ich sage ist Immer wenn ich versuche, die Daten einzugeben, gibt es keine ausreichenden Daten in alle diese 10 TextBoxes, die ich habe, manchmal habe ich nur die Daten für 5 Textfelder, und manchmal sind es 7 Textfelder.

So ... Wie das zu erreichen ist.

Hinweis: Ich bin einige vordefinierte Text für alle Textfelder mit ... wie < em> -Tag am Anfang des Textfeldes und Textdaten und dann </em> Tag zu schließen.

objWriter1.WriteLine("<em>" + BD1.Text + "</em>") 

Ich will nicht nur die < em> -Tags angezeigt werden, wenn es keine Daten gibt, aber ich möchte es ganz überspringen.

Vielen Dank.

+0

Möchten Sie es speichern und in den richtigen Textfeldern neu laden oder können Sie nicht einfach nur prüfen, ob der Text gleich "" ist und dann überspringen? – Schafwolle

+0

Nun, ich weiß nicht, wie man den Text überprüft, ist gleich "" und dann überspringe es .... Ich bin neu im .Net also ... kannst du mich hier führen ??? – winnu

Antwort

0

Es scheint eine gerade Sache, wenn Sie andere Anforderung haben, überprüfen Sie nur für nullability & leere Zeichenfolgen und schreiben Sie nur die Felder, die Wert haben, wenn Sie weitere Erläuterungen haben, bitte fügen Sie es hinzu.

+0

kannst du mir einen Code geben ??? – winnu

0

In Ihrer Klasse, deklarieren Sie eine Liste für alle Textfelder:

private List<TextBox> _textBoxes; 

In Ihrem Konstruktor irgendwo:

public MyClass(){ 
    _textBoxes.Add(textBox1); 
    _textBoxes.Add(textBox2); 
    // etc 
} 

Jetzt in Ihrem Code, können Sie dies tun:

foreach(var textBox in _textBoxes){ 
    var text = textBox.Text.Replace("<em>", "").Replace("</em>", ""); 
    if(!string.IsNullOrEmpt(text){ 
     // Do your saving here 
    } 
} 

Ist das, was Sie brauchen?

+0

Ich verwende einen vordefinierten Text für alle Textfelder ... wie Tag am Anfang des Textfelds und Textfeld Daten und dann schließen < /em > Tag. Ich möchte nicht nur die < em > Tags anzeigen, wenn es keine Daten gibt, aber ich möchte es vollständig überspringen. – winnu

+0

so können Sie textBox1.Text.Remove ("") .Remove ("") –

+0

Gibt es keine einfache Möglichkeit, es zu tun Bruder ... wie nach dem Textfeld suchen und wenn es Null ist dann einfach überspringen .... weil ich viele Textfelder in meinem Code habe und jedes einzelne zu einem riesigen Code wird. – winnu