2010-12-12 6 views
1

私はVS2010、WPF、およびC#を使用しているプロジェクトに取り組んでいます。SQL ServerデータベースからのクエリでWPFのGridViewをどのように満たすことができますか?

SQL Server 2008を使用してプロジェクト用のデータベースを構築しました。プロジェクトに自分の.mdfファイルをインポートしました。

だが、私は私のデータベースに照会し、私のクエリは5つの言葉を返したことを言ってみましょう - 私のプロジェクトで

は、私は2列(チェックボックス列テキスト列)を持つGridViewコントロールを持っています。私はこれらの単語をGridViewの各行の横にあるcheckBoxで行として表示します。

どうすればいいのですか?私はやってみましたが、できませんでした。

答えて

0

あなたの質問は少し曖昧です。しかし、stringboolプロパティを持つオブジェクトのコレクションにグリッドをバインドすると、望ましい結果が得られます。したがって、データベースからのデータを適切なタイプのコレクションに投影することができ、結果を得ることができます。

これは簡単な例ですが、私はすべてのプロパティ通知などに気を配っていません。まずこれがあなたの後のものであることを確認します。

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; } 
    } 
} 
背後にあるコード
関連する問題