Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Windows Phone загрузка данных из БД (http://forum.oszone.net/showthread.php?t=254857)

knyazik 25-02-2013 02:34 2098317

Windows Phone загрузка данных из БД
 
Здравствуйте!
Создал приложение в которое подключил БД с помощью WCF. Загрузил на 1страницу значения из одной колонки, допустим:
Апельсин
Груша
Яблоко
Как реализовать чтобы по клику на Апельсин открывалась страница ItemInfo.xaml с полной информацией про него?
То есть как сделать чтоб на эту страницу загружалась информация из этой же таблицы БД, только 2, 3 колонки?
Вдруг плохо объяснил, вот пример:

БД:
Наименование Цвет Количество
Апельсин Оранжевый 25
Груша Желтый 14
Яблоко Красный 18

MainPage.xaml:
Вещи:
Апельсин click--> ItemInfo.xaml --> Цвет: Оранжевый, Кол-во: 25
Груша click--> ItemInfo.xaml --> Цвет: Желтый, Кол-во: 14
Яблоко click--> ItemInfo.xaml --> Цвет: Красный, Кол-во: 18

lxa85 25-02-2013 18:36 2098735

Пример кода можете привести?
Название полей в таблице также не помешает.

knyazik 25-02-2013 19:06 2098749

lxa85,
MainPage.cs:
Код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using WP.StundentServiceReference;

namespace WP {

public partial class MainPage { // Конструктор

public MainPage() { InitializeComponent(); }

private void PhoneApplicationPageLoaded(object sender, RoutedEventArgs e)
    {
        var serviceClient = new StudentService1Client();
        serviceClient.GetAllStudentsCompleted += ServiceClientGetAllStudentsCompleted;
        serviceClient.GetAllStudentsAsync();
    }

void ServiceClientGetAllStudentsCompleted(object sender, StundentServiceReference.GetAllStudentsCompletedEventArgs e)
  {
      if (e.Result != null)
        { ListBox1.ItemsSource = e.Result; }
  }

private void navigateitem(object sender, RoutedEventArgs e)
  {
      this.NavigationService.Navigate(new Uri("/ItemPage.xaml", UriKind.Relative));
  }
  }
}

MainPage.xaml:
Код:

<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Key="StudentDataTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="10" Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>

<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="МОЕ ПРИЛОЖЕНИЕ"
Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="имя страницы" Margin="9,-7,0,0"
Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ListBox ItemsSource="{Binding}"
ItemTemplate="{StaticResource StudentDataTemplate}"
Height="Auto"
Width="460"
Margin="10,10,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Name="ListBox1"/>
<Button Click="navigateitem"
Content="Button"
Height="72"
HorizontalAlignment="Left"
Margin="142,351,0,0"
Name="button1"
 VerticalAlignment="Top"
 Width="160" />
</Grid>
</Grid>
</phone:PhoneApplicationPage>

Таблица: Medicaments
Поля: Id, Name, Characters

Из кода XAML я выкинул ненужное(то, что вверху Visual Studio создает автоматически и закомментированный Application Bar)

lxa85 27-02-2013 00:32 2099839

Я не вижу здесь обращений к базе.
Не вижу упоминаний таблицы Medicaments.
Грубо говоря вообще ничего не вижу.
Комментариев не вижу, сути кода не понимаю. :unsure:


Время: 11:05.

Время: 11:05.
© OSzone.net 2001-