2014-11-30 6 views
0

Я пытаюсь отобразить данные из моей базы данных Entityity Framework в свой ListView в моем приложении WPF C#.Как отображать данные из базы данных в ListView в WPF C#

Я использую приложение WCF в качестве своего хоста, где я храню свои методы для отображения данных, добавления данных и т. Д., И у меня есть приложение WPF в качестве моего клиента, где я использую код для отображения данных из базы данных на мой Посмотреть список.

Это мой код

ServiceReference1.ImojWCFServiceClient client = new ServiceReference1.ImojWCFServiceClient(); 
listView1.Items.Clear(); 
var userList = client.getUsers(); 
foreach (var user in userList) 
{ 
    ListViewItem listOfUsers; 
    string[] list = new string[3]; 
    list[0] = user.UserID.ToString(); 
    list[1] = user.Name; 
    list[2] = user.LastName; 
    listOfUsers = new ListViewItem(list); 
    listView1.Items.Add(listOfUsers); 
} 

Это ошибка, я получаю enter image description here

Может кто-нибудь помочь мне исправить этот код?

Любая помощь приветствуется!

ответ

2

Если ваш метод возвращает список, массив или подобное, вы можете просто установить ItemsSource из ListView в userList. Например:

ServiceReference1.ImojWCFServiceClient client = new ServiceReference1.ImojWCFServiceClient(); 
listView1.Items.Clear(); 
var userList = client.getUsers(); 
listView1.ItemsSource = userList; 

Если это не работает, конвертировать USERLIST к ObservableCollection перед установкой ItemsSource

Ваш Xaml может выглядеть следующим образом ...

<ListView> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="ID" DisplayMemberBinding="{Binding UserID}"/> 
      <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/> 
      <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/> 
     </GridView> 
    </ListView.View> 
</ListView> 
+0

спасибо sir :) – aiden87

1

ListViewItem не имеет конструктора, который принимает один аргумент. Так что listOfUsers = new ListViewItem(list); не собирается работать.

Попробуйте подход like this:

var items = new List<User>(); 
items.Add(new User() { Name = "John Doe", Age = 42 }); 
items.Add(new User() { Name = "Jane Doe", Age = 39 }); 
items.Add(new User() { Name = "Sammy Doe", Age = 13 }); 
myListView.ItemsSource = items; 
+0

как это отображающее от база данных? это отображает только случайные имена ... – aiden87

+0

Это просто пример. Вы должны заменить свой собственный вариант использования. Это не код копирования/вставки. –

+0

На самом деле это скопируйте и вставьте код отсюда: http://stackoverflow.com/questions/25862244/sorting-data-in-listview – startoftext

Смежные вопросы