c#数据绑定之将datatabel的data添加listView
本文导语: 功能:通过响应UI Textbox 的值向ListView 绑定新添加的纪录。 UI XAML 代码 代码如下: ...
功能:通过响应UI Textbox 的值向ListView 绑定新添加的纪录。
UI XAML 代码
c#后代码
DataTable Commodity = newTable();
public MainWindow()
{
InitializeComponent();
//DataTable Commodity = newTable();
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
addNewMember(Commodity);
lstDisplay.DataContext = Commodity;
}
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
Button b = sender as Button;
Int32 AutoID = Convert.ToInt32(b.CommandParameter);
delMember(Commodity, AutoID);
lstDisplay.DataContext = Commodity;
lstDisplay.Items.Refresh();
}
private DataTable delMember(DataTable Table,Int32 laction)
{
//Deleting a existed row in datatable Commodity;
DataRow delRow = Table.Rows.Find(laction);
Table.Rows.Remove(delRow);
return Table;
}
private DataTable addNewMember(DataTable Table)
{
//inserting a new row in datatable Commodity;
DataRow newRow = Table.NewRow();
newRow["ComName"] = tbkName.Text;
newRow["ComInPrice"] = tbkInPrice.Text;
newRow["ComOutPrice"] = tbkOutPrice.Text;
newRow["ComCount"] = tbkComCount.Text;
Table.Rows.Add(newRow);
return Table;
}
private static DataTable newTable()
{
//Create a new table named Commodity
DataTable commodity = new DataTable("Commodity");
//instert new columns
DataColumn auto = new DataColumn("AutoID", typeof(Int32));
//setting the column auto increment
auto.AutoIncrement = true;
commodity.Columns.Add(auto);
commodity.Columns.Add("ComName", typeof(string));
commodity.Columns.Add("ComInPrice", typeof(double));
commodity.Columns.Add("ComOutPrice", typeof(double));
commodity.Columns.Add("ComCount", typeof(System.Int32));
commodity.PrimaryKey = new DataColumn[] { commodity.Columns[0] };
return commodity;
}