tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von rd4eva
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
875
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    joe81 joe81 ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    14
    Hallo @ all

    Es geht um C# und eine Form Anwendung.

    Ich habe eine Textbox (tb1) in der ich eine Eingabe mache. Dieser String soll in meinem ungebundenen DataGridView (DGV) gesucht werden. Das DGV hat vier Spalten. Stimmt der String mit einem Eintrag in der ersten Spalte(Nummer) überein, so soll die dritte Spalte (Name), der gleichen Zeile, an eine zweite Textbox(tb2) ausgegeben werden.

    So sollte es aussehen:
    http://img135.imageshack.us/i/screenshot022n.jpg/

    ich bin ein schritt weiter:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    private void button1_Click(object sender, EventArgs e)
            {
               
               string Eingabe = textBox1.Text;
                
                int rowIndex = Convert.ToInt16(Eingabe);
                string columnName = "nAMEDataGridViewTextBoxColumn";
                
                // Den Index der Spalte ermitteln
                int columnIndex = this.dataGridView1.Columns[columnName].Index;
                
                // Die Zelle referenzieren, die in der ermittelten Spalte und der aktuellen Zeile liegt
                DataGridViewCell cell = this.dataGridView1[columnIndex, rowIndex];
                if (cell.Value != DBNull.Value && cell.Value != null)
                {
                    // Den in dieser Zelle gespeicherten Wert auslesen ...
                    string test = Convert.ToString(cell.Value);
                    // und weiter verarbeiten ...
     
                    textBox2.Text = Convert.ToString(test);
                }
     
             }

    Ich kann in tb1 den rowindex eingeben und herauskommt der Name. Bring mich aber nicht wirklich weiter.

    Ich hab nun Stunden gegoogelt und komme einfach nicht weiter. Denkanstösse oder Lösungsansätze sind sehr willkommen.

    MFG Joe
    Geändert von joe81 (24.10.10 um 18:52 Uhr)
     

  2. #2
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    So ganz versteh ich nicht wo das Problem liegt.
    Eine schnell mal gekritzelte Lösung wäre Beispielsweise folgende:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    private void textBox1_KeyUp(object sender, KeyEventArgs e)
            {
                string enteredText = (sender as TextBox).Text;
                DataGridViewRow row;            
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    row = dataGridView1.Rows[i];                
                    if (row.Cells[0].Value.ToString().Equals(enteredText))
                    {
                        dataGridView1.CurrentCell = row.Cells[0];
                        textBox2.Text = row.Cells[2].Value.ToString();
                        break;
                    }
                }
            }
    joe81 bedankt sich. 
    In order to understand recursion, one must first understand recursion.

  3. #3
    joe81 joe81 ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    14
    Du bist ein Goldstück. Dein Ansatz hab ich einwenig angepasst und nun funktioniert es einwandfrei.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    private void button1_Click(object sender, EventArgs e)
            {
                string enteredText = textBox1.Text; 
                
                //string enteredText = (sender as TextBox).Text;
                DataGridViewRow row;
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    row = dataGridView1.Rows[i];
                    if (row.Cells[0].Value.ToString().Equals(enteredText))
                    {
                        dataGridView1.CurrentCell = row.Cells[0];
                        textBox2.Text = row.Cells[2].Value.ToString();
                        break;
                    }
                }

    Jetzt muss ich die werte der Textboxen in Variablen schreiben unb an eine CSV-Datei übergeben.

    ICH DANKE TAUSENDMAL. Ich bin den ganzen Tag auf der Suche und hab rumgestestet.

    MFG Joe
     

Ähnliche Themen

  1. C# DataGridView Eingabe Kontrolle
    Von azubineCshape im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 13.05.10, 00:04
  2. [C#] Textbox Eingabe beschränken
    Von DexXxtrin im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 04.08.09, 08:00
  3. Textbox zu einem DataGridView hinzufügen vb.net 2005
    Von ronaldo84 im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 09.07.08, 16:54
  4. Textbox auf Eingabe prüfen
    Von Xervek im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 23.01.06, 11:29
  5. TextBox eingabe nur Zahlen
    Von atothek im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 04.11.04, 18:30