Удалить запись через RIA Services в Silverlight - PullRequest
2 голосов
/ 04 марта 2011

У меня есть DataGrid в приложении Silverlight.Это приложение использует RIA Data Services.Мой код выглядит следующим образом:

<riaControls:DomainDataSource AutoLoad="True" 
  d:DesignData="{d:DesignInstance my1:Order, CreateList=true}" Height="0" 
  LoadedData="orderDomainDataSource_LoadedData" Name="orderDomainDataSource" 
  QueryName="GetOrdersQuery" Width="0">
  <riaControls:DomainDataSource.DomainContext>
     <my:OrderDomainContext />
  </riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<sdk:DataGrid AutoGenerateColumns="True" Height="202" Name="ordersDataGrid" 
  HorizontalAlignment="Left" 
  ItemsSource="{Binding ElementName=orderDomainDataSource, Path=Data}">
</sdk:DataGrid>
<Button Content="Delete Order" Height="23" Name="deleteButton" 
  Width="90" Grid.Row="1" HorizontalAlignment="Left" Margin="102,8,12,0" 
  Click="deleteButton_Click" />

В моем коде позади, у меня есть

private void deleteButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
  if (HtmlPage.Window.Confirm("Are you sure you want to delete this order?") == true)
  {
  }
}

Моя проблема в том, что я не могу понять, как удалить запись из моегоисточник данных.Как удалить запись, которая в данный момент выбрана в моей DataGrid?

Спасибо

Ответы [ 2 ]

3 голосов
/ 11 марта 2011
if (HtmlPage.Window.Confirm("Are you sure you want to delete this order?") == true)

{
DomainDataSource.DataView.Remove(DataGrid.SelectedItem);
DomainDataSource.SubmitChanges();
}
2 голосов
/ 31 августа 2011

Прежде всего, вы не можете определить свои собственные методы Insert / Update / Delete - даже при соблюдении соглашений об именах - потому что компилятор генерирует список ошибок, говорящих, что это избыточная операция, которая уже существует Во-вторых, на стороне клиента, если вы напишите: DomainDataSource.DataView.Remove (DataGrid.SelectedItem); DomainDataSource.SubmitChanges () Вы получаете другую ошибку во время выполнения, говоря, что этот объект (DataGrid.SelectedItem) не включен в entitySet Тогда что делать? Почему генерируемые методы CRUD не могут быть вызваны напрямую?

...