2012-02-09 2 views
0

Я хочу связать результаты SQL-запроса с Listbox интерфейса WPF. Как многие примеры, которые я видел, я не могу настроить приложение, чтобы работать правильно. Я использую этот код позади:Привязка DataSet к списку

string sqlStr1 = "SELECT Players.LastName FROM Players"; 

SqlDataAdapter dAdapt1 = new SqlDataAdapter(sqlStr1, cnStr); 
DataSet dataSet1 = new DataSet(); 
dAdapt1.Fill(dataSet1); 

List1.DataContext = dataSet1; 

и на странице XAML:

<ListBox Name="List1" Grid.Column="1" Grid.Row="2" ></ListBox> 

Какой способ связать их таким образом, имя появится в Listbox?

Без добавления привязки на странице xaml он бросает исключение, когда я пытаюсь запустить его. Что не так?

+0

Если у вас есть исключение ** отправьте его **. –

+0

Это XamlParseException с сообщением «Вызов конструктора на типе« TennisPlayers.PlayersHome », который соответствует указанным ограничениям привязки, сделал исключение». Номер строки «5» и позиция линии «7». Кроме того, он открывает новую страницу с заголовком «Нет источника». – arjacsoh

ответ

7

Ваш источник товаров не задан.

вы можете сделать:

List1.ItemsSource= dataSet1.Tables["Players"]; //instead of List1.DataContext = dataSet1; 

или

List1.DataContext = dataSet1.Tables["Players"]; 
<ListBox Name="List1" ItemsSource="{Binding}" Grid.Column="1" Grid.Row="2" > 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
    <TextBlock Text="{Binding LastName}"/> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

в LastName принимается как ColumnName. btw весь код просто написан от руки, поэтому могут быть некоторые ошибки :)

+0

btw вместо того, чтобы устанавливать источник в набор данных, вы должны установить источник в datatable в вашем наборе данных. – blindmeis

+0

Хотел ответить тем же, но вы были чуть более ранним :). – Mixxiphoid

+0

Второй способ, который вы предлагаете, я уже пробовал, но все равно получаю то же исключение. Первое неприемлемо, поскольку состояния сообщений «не могут скрыто скрываться от набора данных до IEnumerable». Что может вызвать исключение XamlParseException? – arjacsoh

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