c#數(shù)據(jù)綁定之將datatabel的data添加listView

功能:通過響應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="進貨數(shù)量" 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="進貨數(shù)量" 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;
}
相關(guān)文章
.net使用Aspose.Words進行Word替換操作的實現(xiàn)代碼
之前在工作中,需要實現(xiàn)Word打印功能,并且插入圖片。當時采取的方式則是使用書簽進行操作。首先在word內(nèi)插入書簽,完成后,存為模板。程序加載該模板,找到書簽,并在指定位置寫入文字即可2013-05-05
C#利用Refit實現(xiàn)JWT自動續(xù)期詳解
Refit?是一個受到Square的Retrofit庫(Java)啟發(fā)的自動類型安全REST庫,這篇文章主要為大家介紹了C#如何利用Refit實現(xiàn)JWT自動續(xù)期,感興趣的可以了解下2023-08-08
利用C#/VB.NET實現(xiàn)PPT轉(zhuǎn)換為HTML
利用PowerPoint可以很方便的呈現(xiàn)多媒體信息,且信息形式多媒體化,表現(xiàn)力強。但難免在某些情況下我們會需要將PowerPoint轉(zhuǎn)換為HTML格式,本文就為大家整理了轉(zhuǎn)換方法,希望對大家有所幫助2023-05-05

