1

データセットと関係に2つのデータテーブルがあります

DataSet newDataset = new DataSet("dsShop");
DataTable customers = new DataTable("customers");
DataTable orders = new DataTable("orders");
customers.Columns.Add("customerid", typeof(int));
customers.Columns.Add("title", typeof(string));
customers.Columns.Add("phone", typeof(int));
customers.Rows.Add(new object[] { 1, "Mr.Smith", 3442343 });
customers.Rows.Add(new object[] { 2, "Mr.Klein", 3442343 });
orders.Columns.Add("id", typeof(int));
orders.Columns.Add("customerid", typeof(int));
orders.Columns.Add("caption", typeof(string));
orders.Columns.Add("order", typeof(int));
orders.Rows.Add(new object[] { 1,1,"dildo",1 });
orders.Rows.Add(new object[] { 3, 2, "shorts", 1 });
orders.Rows.Add(new object[] { 4, 3, "umbrella", 1 });
newDataset.Tables.Add(customers);
newDataset.Tables.Add(orders);
newDataset.Relations.Add(new DataRelation("order_customerfk", customers.Columns[""customerid""], orders.Columns["customerid"]));

今、「顧客」の編集ウィンドウを作りたいです。テキストボックスに表示されるcustomers.Columnsとorders.Columns。データグリッドに表示されます。

このようなものを作成しましたが、idが機能しません

public CustomerEdit(int customerID)
{
    var curCustomer = dsShop.customer.Select("customerid='" + customerID + "'");  
    gCustomer.DataContext = curCustomer.FirstOrDefault(); 
}


<Grid x:Name="gCustomer">
<Grid.RowDefinitions>
    <RowDefinition Height="*"/>
    <RowDefinition Height="*"/>
    <RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="2*"/>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>

<Label Content=""customer id"" Style="{StaticResource g_PropertyLabel}" Grid.Row="0" Grid.Column="0"/>
<TextBox x:Name="tbx"Customerid"" Text="{Binding Path=customerid, Mode=TwoWay}" Style="{StaticResource g_PropertyTextBox}" Grid.Row="0" Grid.Column="1"/>
<Label Content="title" Style="{StaticResource g_PropertyLabel}" Grid.Row="1" Grid.Column="0"/>
<TextBox x:Name="tbxTitle" Text="{Binding Path=title, Mode=TwoWay}" Style="{StaticResource g_PropertyTextBox}" Grid.Row="1" Grid.Column="1"/>
<Label Content="phone" Style="{StaticResource g_PropertyLabel}" Grid.Row="2" Grid.Column="0"/>
<TextBox x:Name="tbxPhone" Text="{Binding Path=phone, Mode=TwoWay}" Style="{StaticResource g_PropertyTextBox}" Grid.Row="2" Grid.Column="1"/>

<DataGrid x:Name="dgOrders" IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False" ItemsSource="{Binding Path=order_customerfk}"  CanUserAddRows="True" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="3">
    <DataGrid.Columns>
        <DataGridTextColumn Header="ID" Binding="{Binding Path=id, Mode=TwoWay}" Width="50"/>
        <DataGridTextColumn Header="Caption" Binding="{Binding Path=caption, Mode=TwoWay}" Width="250"/>
        <DataGridTextColumn Header="Order" Binding="{Binding Path=order, Mode=TwoWay}" Width="50"/>
    </DataGrid.Columns>
</DataGrid>
</Grid>

このウィンドウで、顧客データと注文データを編集します。顧客 できますが、注文できません...

4

0 に答える 0