Schaper13 Geschrieben 10. September 2009 Teilen Geschrieben 10. September 2009 Hallo Community, ich muss aus einem Datagridview einen/ oder mehrere Datensätze ausselectieren. Also wie die Ajax Funkiton bei google , soll das Datagridview nach jedem Zeichen im Textfeld weiter aus selektieren. Ich bin erst in der Ausbildung deshalb suche ich hier Hilfe. Muss aus den Spaltennamen eine Combobox für die Suche füllen. Die ich dann aufraufen muss um in der Spalte dann etwas aus zu selektieren. Bitte euch um Hilfe... der Bisherige Code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace WindowsApplication1 { public partial class Form3 : Form { OleDbCommand cmd = null; OleDbConnection con = new OleDbConnection(); OleDbDataReader dr = null; DataSet ds = new DataSet(); DataSet gridds = new DataSet(); OleDbDataAdapter anzeigekunden = null; OleDbDataAdapter daplz = null; public Form3() { InitializeComponent(); } private void Form3_Load(object sender, EventArgs e) { laden(); spaltenformatierung(); } private void laden() { try { con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=kundenplz.mdb"; con.Open(); } catch (Exception x) { MessageBox.Show("Datenbank-Öffnungsfehler" + x); } OleDbDataAdapter name1 = new OleDbDataAdapter("select * from kunden", con); ds.Clear(); name1.Fill(ds, "Kundenfilter"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "Kundenfilter"; } private void spaltenformatierung() { dataGridView1.Columns.Remove("kdnr"); DataGridViewTextBoxColumn tb0 = new DataGridViewTextBoxColumn(); tb0.Name = "kdnr"; tb0.DataPropertyName = "kdnr"; tb0.HeaderText = "Kunden-Nr"; tb0.DisplayIndex = 0; tb0.ToolTipText = "Dies ist der eindeutige Tabellenschlüssel"; dataGridView1.Columns.Add(tb0); dataGridView1.Columns.Remove("kdname"); DataGridViewTextBoxColumn tb1 = new DataGridViewTextBoxColumn(); tb1.DataPropertyName = "kdname"; tb1.HeaderText = "Kunden-Name"; tb1.DisplayIndex = 1; dataGridView1.Columns.Add(tb1); dataGridView1.Columns.Remove("kdplz"); DataGridViewComboBoxColumn cb1 = new DataGridViewComboBoxColumn(); cb1.DataSource = griddatatable(); cb1.DataPropertyName = "kdplz"; cb1.ValueMember = "plz"; cb1.DisplayMember = "plz"; cb1.HeaderText = "Kunden-PLZ"; cb1.DisplayIndex = 2; cb1.Width = 80; dataGridView1.Columns.Add(cb1); dataGridView1.Columns.Remove("kdadresse"); DataGridViewTextBoxColumn tb3 = new DataGridViewTextBoxColumn(); tb3.DataPropertyName = "kdadresse"; tb3.HeaderText = "Kunden-Adresse"; tb3.DisplayIndex = 3; dataGridView1.Columns.Add(tb3); DataGridViewCheckBoxColumn ch = new DataGridViewCheckBoxColumn(); ch.Name = "Löschen"; ch.HeaderText = "Löschen"; ch.DisplayIndex = 4; dataGridView1.Columns.Add(ch); } private DataTable griddatatable() { daplz = new OleDbDataAdapter("select plz from plz",con); DataTable griddt = new DataTable("kdplz"); griddt.Columns.Add("plz", Type.GetType ("System.Int32")); gridds = new DataSet(); daplz.Fill(gridds,"Kundenplz"); griddt = gridds.Tables["Kundenplz"]; return griddt; } private void button1_Click(object sender, EventArgs e) { this.Close(); } private void button2_Click(object sender, EventArgs e) { anzeigekunden = new OleDbDataAdapter("select * from Kunden",con); OleDbCommandBuilder updatekunden = new OleDbCommandBuilder(anzeigekunden); this.anzeigekunden.Update(ds, "Kundenfilter"); } private void textBox1_TextChanged(object sender, EventArgs e) { string suchbegriff = ""; string spalte = ""; suchbegriff = textBox1.Text; spalte = comboBox1.Text; cmd = new OleDbCommand("Select * From kunden where " + spalte + " like '%" + suchbegriff + "%' ", con); cmd.ExecuteNonQuery(); con.Close(); ds.Clear(); laden(); } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.