Der Code für textbox1
verwendet die Autocomplete-Funktion für das Ereignis TextChanged
und zeigt Person Name
aus der Datenbank als Vorschläge in textbox1
an. Wenn der Benutzer nun einen bestimmten Namen aus vorgeschlagenen Elementen in textbox1
auswählt, möchte ich textbox2
und textbox3
automatisch aus der Datenbank basierend auf Wert von textbox1
ausfüllen. Wie soll ich das machen?Wie werden andere Textfelder basierend auf dem in einem Textfeld ausgewählten Wert gefüllt?
Code of textbox1
:
private void textBox1_TextChanged(object sender, EventArgs e)
{
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
SqlConnection con = new SqlConnection(@"***my connection string***");
con.Open();
SqlCommand cmnd = con.CreateCommand();
cmnd.CommandType = CommandType.Text;
cmnd.CommandText = "SELECT * FROM tblTicketDetail";
SqlDataReader dReader;
dReader = cmnd.ExecuteReader();
if (dReader.Read())
{
while (dReader.Read())
namesCollection.Add(dReader["ContactPerson"].ToString());
}
else
{
MessageBox.Show("Data not found");
}
dReader.Close();
textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteCustomSource = namesCollection;
}
So funktioniert die Auto-Vervollständigen-Funktion gut, Ihr Problem ist es, Werte für andere zwei zu erhalten Textfelder basierend auf dem ausgewählten Text in Auto-Vervollständigen-Textfeld. habe ich recht? –
Überspringen Sie die erste von DataReader zurückgegebene Zeile mit Absicht? ('if (r.Read() {while (r.Read() ...') –
Aktualisiert, um Tippfehler und Grammatik in der Frage zu beheben Bitte fügen Sie weitere Details zu Ihrer Frage hinzu. – Ram