c#数据绑定之数据转化为信息的示例_C#教程-查字典教程网
c#数据绑定之数据转化为信息的示例
c#数据绑定之数据转化为信息的示例
发布时间:2017-01-07 来源:查字典编辑
摘要:目标界面:XAML代码:复制代码代码如下:C#代码:复制代码代码如下:DataSetbusiness=NewData();publicMai...

目标界面:

XAML代码:

复制代码 代码如下:

<Grid Margin="2">

<Grid.RowDefinitions>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition Height="Auto"/>

<RowDefinition />

</Grid.RowDefinitions>

<GroupBox Header="Customer" Grid.Row="0" Padding="5">

<Grid>

<Grid.RowDefinitions>

<RowDefinition />

<RowDefinition />

<RowDefinition/>

</Grid.RowDefinitions>

<Grid.ColumnDefinitions>

<ColumnDefinition Width="Auto"/>

<ColumnDefinition/>

</Grid.ColumnDefinitions>

<TextBlock Grid.Row="0" Grid.Column="0" Text="CustomerID" Margin="2" HorizontalAlignment="Right" VerticalAlignment="Center"/>

<TextBox Grid.Row="0" Grid.Column="1" Margin="2" Name="tbxCustomerID" Text="{Binding Path=CID}"/>

<TextBlock Grid.Row="1" Grid.Column="0" Text="CustomerName" Margin="2" HorizontalAlignment="Right" VerticalAlignment="Center"/>

<TextBox Grid.Row="1" Grid.Column="1" Margin="2" Name="tbxCustomerName" Text="{Binding Path=Name}"/>

<Button Grid.Row="2" Grid.Column="1" Content="Add New Customer" Margin="2" Name="btnAddCustomer" Padding="2" Click="btnAddCustomer_Click" />

</Grid>

</GroupBox>

<GroupBox Header="Order" Grid.Row="1" Padding="5">

<Grid>

<Grid.RowDefinitions>

<RowDefinition />

<RowDefinition />

<RowDefinition />

<RowDefinition />

<RowDefinition />

</Grid.RowDefinitions>

<Grid.ColumnDefinitions>

<ColumnDefinition Width="Auto"/>

<ColumnDefinition/>

</Grid.ColumnDefinitions>

<TextBlock Grid.Row="0" Grid.Column="0" Text="OrderID" Margin="2" HorizontalAlignment="Right" VerticalAlignment="Center"/>

<TextBox Grid.Row="0" Grid.Column="1" Margin="2" Name="tbxOrderID" Text="{Binding Path=OID}"/>

<TextBlock Grid.Row="1" Grid.Column="0" Text="OrderName" Margin="2" HorizontalAlignment="Right" VerticalAlignment="Center"/>

<TextBox Grid.Row="1" Grid.Column="1" Margin="2" Name="tbxOrderName" Text="{Binding Path=Customer}"/>

<TextBlock Grid.Row="2" Grid.Column="0" Text="Subtotal" Margin="2" HorizontalAlignment="Right" VerticalAlignment="Center"/>

<TextBox Grid.Row="2" Grid.Column="1" Margin="2" Name="tbxSubtotal" Text="{Binding Path=Subtotal}"/>

<TextBlock Grid.Row="3" Grid.Column="0" Text="TaxRate" Margin="2" HorizontalAlignment="Right" VerticalAlignment="Center"/>

<TextBox Grid.Row="3" Grid.Column="1" Margin="2" Name="tbxTaxRate" Text="{Binding Path=TaxRate}"/>

<Button Grid.Row="4" Grid.Column="1" Content="Add New Order" Margin="2" Name="btnAddOrder" Padding="2" Click="btnAddOrder_Click" />

</Grid>

</GroupBox>

<ListView Name="lstDisplayCustomer" ItemsSource="{Binding}" Grid.Row="2" Margin="2" MinHeight="150">

<ListView.View>

<GridView>

<GridView.Columns>

<GridViewColumn Header="CustomerID" DisplayMemberBinding="{Binding CID}"/>

<GridViewColumn Header="CustomerName" DisplayMemberBinding="{Binding Name}"/>

<GridViewColumn Header="Total" DisplayMemberBinding="{Binding OrderTotals}" />

</GridView.Columns>

</GridView>

</ListView.View>

</ListView>

<ListView Name="lstDisplayOrder" ItemsSource="{Binding}" Grid.Row="3" Margin="2" MinHeight="150">

<ListView.View>

<GridView>

<GridView.Columns>

<GridViewColumn Header="OrderID" DisplayMemberBinding="{Binding OID}"/>

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

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

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

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

</GridView.Columns>

</GridView>

</ListView.View>

</ListView>

</Grid>

C# 代码:

复制代码 代码如下:

DataSet business = NewData();

public MainWindow()

{

InitializeComponent();

}

private static DataSet NewData()

{

//-----build the parent table and add some data

DataTable customer = new DataTable("Customer");

customer.Columns.Add("CID", typeof(Int32));

customer.Columns.Add("Name", typeof(string));

//-------build the child table and add some data.

DataTable orders = new DataTable("Order");

orders.Columns.Add("OID", typeof(int));

orders.Columns.Add("Customer", typeof(Int32));

orders.Columns.Add("Subtotal", typeof(decimal));

orders.Columns.Add("TaxRate", typeof(decimal));

orders.Columns.Add("Total",typeof(decimal),"Subtotal*(1+TaxRate)");

//-----Link the table within a Dataset.

DataSet business = new DataSet();

business.Tables.Add(customer);

business.Tables.Add(orders);

business.Relations.Add(customer.Columns["CID"],orders.Columns["Customer"]);

customer.Columns.Add("OrderTotals" ,typeof(decimal),"Sum(Child.Total)");

return business;

}

private void btnAddCustomer_Click(object sender, RoutedEventArgs e)

{

//Vist datatable customer.

DataTable customer=business.Tables["Customer"];

NewMember(customer);

lstDisplayCustomer.DataContext = customer;

}

private DataTable NewMember(DataTable table)

{

DataRow newRow = table.NewRow();

newRow["CID"] = tbxCustomerID.Text;

newRow["Name"] = tbxCustomerName.Text;

table.Rows.Add(newRow);

return table;

}

private DataTable NewMemberOrder(DataTable table)

{

DataRow newRow = table.NewRow();

newRow["OID"] = tbxOrderID.Text;

newRow["Customer"] = tbxOrderName.Text;

newRow["Subtotal"] = tbxSubtotal.Text;

newRow["TaxRate"] = tbxTaxRate.Text;

table.Rows.Add(newRow);

return table;

}

private void btnAddOrder_Click(object sender, RoutedEventArgs e)

{

//Vist datatable order.

DataTable order = business.Tables["Order"];

NewMemberOrder(order);

lstDisplayOrder.DataContext = order;

}

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