пытаетесь использовать службу WCF в приложении silverlight?

#c# #asp.net #silverlight #wcf

#c# #asp.net #silverlight #wcf

Вопрос:

Я создал проект silver light, в котором я пытаюсь загрузить сетку данных на своей главной странице.Когда я узнал, что ADO.net не поддерживается в silverlight, я использовал службу WCF с поддержкой silver light.Я последовал примеру здесь http://www.dotnetcurry.com/ShowArticle.aspx?ID=228

Я могу получить данные из базы данных в службу, но не могу отобразить на своей странице, и это не вызывает никаких исключений.Имеет ли это какое-то отношение к конфигурациям привязки или к чему-то еще.Потому что я могу получить доступ к службе WCF из браузера. поэтому я думаю, что я не могу загрузиться в datagrid моей страницы.Вот мой код

XAML:

  <Grid x:Name="LayoutRoot">
    <sdk:DataGrid x:Name="DetailsGrid" AutoGenerateColumns="False" Height="430" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="576" />
</Grid>
  

C#:

     DataServiceClient client = new DataServiceClient();
  client.ResourcesListCompleted   =new EventHandler<ResourcesListCompletedEventArgs>(client_ResourcesListCompleted);
        client.ResourcesListAsync();
        InitializeComponent();

    void client_ResourcesListCompleted(object sender, ResourcesListCompletedEventArgs e)
    {

        DetailsGrid.ItemSource = e.Resu<

    }
  

Ответ №1:

Вы установили AutoGenerateColumns="False" , но затем (при условии, что вы не исключили это из кода) не указали, какие столбцы вы хотите отобразить.

В первом случае установите AutoGenerateColumns="True" , чтобы убедиться, что вы получаете данные. При этом будут отображены все данные для каждой записи в наборе данных. Если вам не нужны все данные, задайте для False них значение, а затем укажите, какие столбцы вы хотите использовать. Итак, предполагая, что у вас есть поле, вызываемое FirstName в ваших данных, у вас будет:

 <sdk:DataGrid x:Name="dg" AutoGenerateColumns="False">
    <sdk:DataGrid.Columns>
        <sdk:DataGridTextColumn Header="First Name" 
                Binding="{Binding FirstName}" />
    </sdk:DataGrid.Columns>
    ....
</sdk:DataGrid>
  

Комментарии:

1. : Теперь он работает отлично, когда я устанавливаю AutogenerateColums=»True»;