In meinem Code habe ich eine Methode für jede Taste als ein Beispiel, ich habe Huhn und Rindfleisch Tasten und sie haben ihre eigenen Methoden, wenn ich zum ersten Mal auf die Hühnertaste klicken Das geladene Formular wird in der Listbox angezeigt, aber wenn ich nach dem Hühnchen auf den Button "Beef" klicke, wird mir eine System.ArgumentException angezeigt. Wie würde das behoben werden?System.Data.DataRowView wie kann ich es lösen
private void Chicken()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select Chicken_Name,WithOrWithout_Name,Chicken_Price from Tbl_Add a full outer join tbl_Chicken b ON b.Chicken_ID = a.Chicken_ID full outer join Tbl_WithORWithot c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Chicken = new DataTable();
adapter.Fill(tbl_Chicken);
lst_SHowdata.DisplayMember = "Chicken_Name";
lstSHowdata2.DisplayMember = "Chicken_Price";
lst_SHowdata.ValueMember = "Chicken_ID";
lst_SHowdata.ValueMember = "Beef_ID";
lst_SHowdata.DataSource = tbl_Chicken;
lstSHowdata2.DataSource = tbl_Chicken;
}
}
private void Beef()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select Beef_Name,WithOrWithout_Name ,Beef_Price from Tbl_Add a full outer join Tbl_Beef b ON b.Beef_ID = a.Beef_ID full outer join Tbl_WithORWithot c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Beef = new DataTable();
adapter.Fill(tbl_Beef);
lst_SHowdata.DisplayMember = "Beef_Name";
lstSHowdata2.DisplayMember = "Beef_Price";
lst_SHowdata.ValueMember = "Beef_ID";
lst_SHowdata.ValueMember = "Chicken_ID";
lst_SHowdata.DataSource = tbl_Beef;
lstSHowdata2.DataSource = tbl_Beef;
}
}
private void button1_Click(object sender, EventArgs e)
{
Chicken();
}
private void button2_Click(object sender, EventArgs e)
{
Beef();
}
Und ich versuchte, es zu beheben, indem Sie einen Kommentar für die Linien zu machen, die die Ausnahme
//lst_SHowdata.ValueMember = "Chicken_ID";
// lst_SHowdata.ValueMember = "Beef_ID";
und irgendwie fixiert worden war, machen aber ich muss die Taste zweimal klicken, wenn ich es für das Klicken Zum ersten Mal wird es in der Listbox angezeigt System.Data.DataRowView. wie es zu beheben und es nur im ersten Klick angezeigt werden?
"es mir eine System.ArgumentException zeigen" <--- jede Nachricht mit, dass gehen zusammen? –
Eine nicht behandelte Ausnahme vom Typ 'System.ArgumentException' ist in System.Windows.Forms.dll aufgetreten Weitere Informationen: Kann nicht an den neuen Wert Mitglied gebunden werden. –
das ist die Nachricht, die es mir zeigt, wenn die Ausnahme gezeigt –