c#数据绑定之将datatabel的data添加listView
c#数据绑定之将datatabel的data添加listView
发布时间:2017-01-07 来源:查字典编辑
摘要:功能:通过响应UITextbox的值向ListView绑定新添加的纪录。UIXAML代码复制代码代码如下:c#后代码复制代码代码如下:Dat...

c#数据绑定之将datatabel的data添加listView1

功能:通过响应UI Textbox 的值向ListView 绑定新添加的纪录。

UI XAML 代码

复制代码 代码如下:

<Grid Margin="5">

<Grid.ColumnDefinitions>

<ColumnDefinition Width="Auto"/>

<ColumnDefinition/>

</Grid.ColumnDefinitions>

<Grid.RowDefinitions>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition/>

</Grid.RowDefinitions>

<TextBlock Grid.Row="0" Grid.Column="0" Text="商品名称" HorizontalAlignment="Right" VerticalAlignment="Center" />

<TextBox Grid.Row="0" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComName}" Name="tbkName"/>

<TextBlock Grid.Row="1" Grid.Column="0" Text="商品进货单价" HorizontalAlignment="Right" VerticalAlignment="Center" />

<TextBox Grid.Row="1" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComInPrice}" Name="tbkInPrice"/>

<TextBlock Grid.Row="2" Grid.Column="0" Text="商品零售价格" HorizontalAlignment="Right" VerticalAlignment="Center" />

<TextBox Grid.Row="2" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComOutPrice}" Name="tbkOutPrice"/>

<TextBlock Grid.Row="3" Grid.Column="0" Text="进货数量" HorizontalAlignment="Right" VerticalAlignment="Center" />

<TextBox Grid.Row="3" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComOutPrice}" Name="tbkComCount"/>

<Button Grid.Row="4" Grid.Column="1" Content="添加新纪录" Margin="2" Padding="2" Name="btnAdd" Click="btnAdd_Click" />

<TextBlock Grid.Row="5" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Background="Black" />

<ListView Name="lstDisplay" ItemsSource="{Binding}" Grid.Row="6" Grid.ColumnSpan="2">

<ListView.View>

<GridView>

<GridView.Columns>

<GridViewColumn Header="AutoID" DisplayMemberBinding="{Binding AutoID}"/>

<GridViewColumn Header="商品名称" DisplayMemberBinding="{Binding ComName}"/>

<GridViewColumn Header="进货价格" DisplayMemberBinding="{Binding Path=ComInPrice,StringFormat={}{0:c}}"/>

<GridViewColumn Header="零售价格" DisplayMemberBinding="{Binding Path=ComOutPrice,StringFormat={}{0:c}}"/>

<GridViewColumn Header="进货数量" DisplayMemberBinding="{Binding ComCount}"/>

</GridView.Columns>

</GridView>

</ListView.View>

</ListView>

</Grid>

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;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类