2012-10-09 58 views
1

Silverlight系統,其中一個asp用戶藥房有一個鏈接的表對於他們的庫存。我試圖在列表(datagrid)中顯示這個清單,併爲它們提供了一種通過數據網格編輯和添加項目到列表的方法。目前我正在努力與這個數據表的綁定... Xaml提供,任何幫助?DataForm和DataGrid問題

<Grid x:Name="LayoutRoot"> 
    <Button Content="Save Changes" Height="52" Width="103" Name="SaveChangesButton" VerticalAlignment="Top" Click="SaveChanges" ContentTemplate="{Binding}" Margin="169,309,367,0" /> 
    <Button Content="Discard Changes" Height="52" Width="103" Name="DiscardChangesButton" VerticalAlignment="Top" Click="DiscardChanges" ContentTemplate="{Binding}" Margin="288,309,250,0" /> 
    <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:User_Pharmacy, CreateList=true}" Height="0" LoadedData="user_PharmacyDomainDataSource_LoadedData_1" Name="user_PharmacyDomainDataSource" QueryName="GetUser_PharmacyMedInvASPQuery" Width="0"> 
     <riaControls:DomainDataSource.DomainContext> 
      <my1:MediNetDomainContext /> 
     </riaControls:DomainDataSource.DomainContext> 
    </riaControls:DomainDataSource> 
    <sdk:DataGrid AutoGenerateColumns="False" Height="406" HorizontalAlignment="Left" ItemsSource="{Binding ElementName=user_PharmacyDomainDataSource, Path=Data}" Margin="12,37,0,0" Name="medicineInventoryDataGrid" VerticalAlignment="Top" Width="107" > 
     <sdk:DataGrid.Columns> 
      <sdk:DataGridTextColumn x:Name="medName" Binding="{Binding Path=MedicineName}" Header="Medicine Name" Width="SizeToHeader" Visibility="Visible" /> 
     </sdk:DataGrid.Columns> 
    </sdk:DataGrid> 
    <TextBlock Height="23" HorizontalAlignment="Left" Margin="336,420,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" /> 
    <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:User_Pharmacy, CreateList=true}" Height="0" LoadedData="user_PharmacyDomainDataSource1_LoadedData" Name="user_PharmacyDomainDataSource1" QueryName="GetUser_PharmacyASPQuery" Width="0"> 
     <riaControls:DomainDataSource.DomainContext> 
      <my1:MediNetDomainContext /> 
     </riaControls:DomainDataSource.DomainContext> 
    </riaControls:DomainDataSource> 
    <toolkit:DataForm HorizontalAlignment="Left" Margin="151,37,0,0" Name="dataForm1" VerticalAlignment="Top" Width="258" Height="223" ItemsSource="{Binding ElementName=user_PharmacyDomainDataSource, Path=Data.}" CommandButtonsVisibility="All"> 
     <toolkit:DataForm.ReadOnlyTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
        <Grid.RowDefinitions> 
         <RowDefinition/> 
         <RowDefinition/> 
         <RowDefinition/> 
         <RowDefinition/> 
        </Grid.RowDefinitions> 
        <sdk:Label Content="Medicine Name:" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="3" Name="medicineNameTextBox" Text="{Binding Path=MedicineName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="True"/> 
        <sdk:Label Content="Price:" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="3" Name="priceTextBox" Text="{Binding Path=Price, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="True"/> 
        <sdk:Label Content="Quantity:" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="3" Name="quantityTextBox" Text="{Binding Path=Quantity, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="True" /> 
       </Grid> 
      </DataTemplate> 
     </toolkit:DataForm.ReadOnlyTemplate> 
     <toolkit:DataForm.NewItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
        <Grid.RowDefinitions> 
         <RowDefinition/> 
         <RowDefinition/> 
         <RowDefinition/> 
         <RowDefinition/> 
        </Grid.RowDefinitions> 
        <sdk:Label Content="Medicine Name:" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="3" Name="medicineNameTextBox" Text="{Binding Path=MedicineName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="False"/> 
        <sdk:Label Content="Price:" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="3" Name="priceTextBox" Text="{Binding Path=Price, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="False"/> 
        <sdk:Label Content="Quantity:" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="3" Name="quantityTextBox" Text="{Binding Path=Quantity, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="False" /> 
       </Grid> 
      </DataTemplate> 
     </toolkit:DataForm.NewItemTemplate> 
     <toolkit:DataForm.EditTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
        <Grid.RowDefinitions> 
         <RowDefinition/> 
         <RowDefinition/> 
         <RowDefinition/> 
         <RowDefinition/> 
        </Grid.RowDefinitions> 
        <sdk:Label Content="Medicine Name:" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="3" Name="medicineNameTextBox" Text="{Binding Path=MedicineName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="False"/> 
        <sdk:Label Content="Price:" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="3" Name="priceTextBox" Text="{Binding Path=Price, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="False"/> 
        <sdk:Label Content="Quantity:" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" /> 
        <TextBox Grid.Column="1" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="3" Name="quantityTextBox" Text="{Binding Path=Quantity, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" IsReadOnly="False" /> 
       </Grid> 
      </DataTemplate> 
     </toolkit:DataForm.EditTemplate> 
    </toolkit:DataForm> 
</Grid> 

+0

歡迎來到StackOverflow!你能更具體地說明什麼是「與綁定掙扎」的意思。如果沒有清楚地指出你遇到的具體問題,這是很多標記。 –

+0

將數據表單和數據網格專門綁定到已登錄藥房的庫存。我通過過濾器描述符成功地獲得正確的藥房。但是,它似乎將數據表單綁定到藥房的域服務,並且不允許它深入到清單(這是另一個表)。 – user1732039

+0

只需添加...將它們綁定到PharmacyDomainDataSource --- 似乎嘗試在每次調用數據源提交更改()時創建一個新葯房。 與InventoryDomainDataSource的綁定未將其鏈接到所述藥房。 ---- 我試圖通過從InventoryDDS獲取所有數據並將其放入IEnumerable列表中,然後製作Pharmacy.MedInv =列表來解決此問題。然而,這是行不通的。 – user1732039

回答

0

使用兩套的TextBlocks的,一個編輯/添加創建了自己的定製版本,唯一可見的話,另一個用於觀看。如果有人有興趣,我可以分享代碼。