2016-07-26 3 views
0

Ich möchte DataGrid-Elemente in WPF löschen.So löschen Sie DataGrid-Elemente in WPF, während Sie den Button in der Spalte jeder Zeile haben

Ich habe

versucht
dataGridfix.Items.Clear(); 
dataGridfix.Items.Refresh(); 
dataGridfix.ItemsSource = null; 

aber aufgrund Taste in jeder Zeile mit, stoppt er Datenraster zu löschen.

können Sie eine gute Idee vorschlagen?

vollständige Code ist hier

private void showfix() 
    { 
     dataGridfix.ItemsSource = null; 
     DataTable dt = new DataTable(); 
     dt.Columns.Add("ID"); 
     dt.Columns.Add("Account"); 

     SqlDataAdapter msadapt = new SqlDataAdapter("select * from fdetails order by fdid desc", mscon); 
     DataTable msdata = new DataTable(); 
     msadapt.Fill(msdata); 

     for (int i = 0; i < msdata.Rows.Count; i++) 
     { 
      string id = msdata.Rows[i].ItemArray[0].ToString(); 
      string acc = msdata.Rows[i].ItemArray[2].ToString(); 
      dt.Rows.Add(id, acc); 
     } 

     dataGridfix.ItemsSource = dt.DefaultView; 
     dataGridfix.Columns[0].Width = 50; 
     dataGridfix.Columns[1].Width = 50; 
     dataGridfix.Columns[2].Width = 180; 
    } 

XAML-Code ist

       <DataGridTemplateColumn > 
            <DataGridTemplateColumn.CellTemplate > 
             <DataTemplate> 
              <Button Name="btndelfix" Click="btndelfix_Click" >Delete</Button> 
             </DataTemplate> 
            </DataGridTemplateColumn.CellTemplate> 
           </DataGridTemplateColumn> 
          </DataGrid.Columns> 
+0

Könnten Sie den XAML-Code posten? oder ein Screenshot zur Situation der fehlgeschlagenen Säuberung? –

+0

poste dein 'DataGrid'-XAML, wir sollten wissen, wie deine Buttons zu' DataGrid' hinzugefügt werden. Ich nehme an, du solltest ein 'DetaTemplate' haben, um die Schaltfläche zu platzieren. –

+0

ja du hast recht Abin. Ich habe data templete, um den Knopf zu setzen. –

Antwort

0

Haben Sie versucht dataGridfix.ItemsSource = null dann tun tun dataGridfix.Items.Refresh() statt umgekehrt as seen here? Sie müssen die itemsSource -Eigenschaft löschen, damit die Bindung nicht mehr funktioniert. Dann sollte dich nichts daran hindern, das Datagrid zu leeren. Für mich ist das DataTemplate über eine Schaltfläche nicht mit Ihrem Problem verbunden.

Verwandte Themen