Как заполнить GridView в WPF запросами из базы данных SQL Server? - PullRequest
1 голос
/ 12 декабря 2010

Я работаю над проектом с использованием VS2010, WPF и C #.

Я использовал SQL Server 2008 для создания базы данных для своего проекта и импортировал мой (.mdf) файл в свой проект.

В моем проекте у меня есть GridView, который имеет 2 столбца (текстовый столбец - столбец checkBox)

Допустим, я запросил в своей базе данных и мой запрос вернул 5 слов.Я хочу, чтобы эти слова отображались в виде строк в GridView с флажком рядом с каждым из них.

Вы знаете, как я могу это сделать ?!Потому что я пытался, но не мог этого сделать.

1 Ответ

0 голосов
/ 12 декабря 2010

Ваш вопрос немного расплывчатый.Но если вы связываете Grid с коллекцией объектов со свойством string и bool, вы получите желаемый результат.Таким образом, вы можете проецировать данные из базы данных в коллекцию соответствующего типа, и вы получите результат.

Вот простой пример, я не беспокоился обо всех уведомлениях о свойствах и т. Д. Сначала хочу подтвердить, что это то, что вам нужно.

XAML - Привязка DataGrid к Data свойство в коде позади.

<Window x:Class="WpfTest.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local="clr-namespace:WpfTest"
            Title="MainWindow" Height="350" Width="525">
  <Grid>
    <DataGrid ItemsSource="{Binding Data}" />
  </Grid>
</Window>

код в

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Collections.ObjectModel;

namespace WpfTest
{
  /// <summary>
  /// Interaction logic for MainWindow.xaml
  /// </summary>
  public partial class MainWindow : Window
  {
    public ObservableCollection<DataItem> Data { get; set; }
    public MainWindow()
    {
      InitializeComponent();

      // Setup the data context to refer to this object
      // depending on your design, this might all be in a ViewModel
      // of sorts
      DataContext = this;

      // Imagine this data was loaded from the database and populated into the
      // Data collection
      Data = new ObservableCollection<DataItem>();
      Data.Add(new DataItem() { Word = "Word 1", Checked = false });
      Data.Add(new DataItem() { Word = "Word 2", Checked = false });
      Data.Add(new DataItem() { Word = "Word 3", Checked = true });
      Data.Add(new DataItem() { Word = "Word 4", Checked = false });
      Data.Add(new DataItem() { Word = "Word 5", Checked = true });
    }    
  }

  public class DataItem
  {
    public string Word { get; set; }
    public bool Checked { get; set; }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...