#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»;