C#とWPFの新機能ですので、これは簡単な問題です。SQL Server(WPF)からデータを取得したときに、選択したListViewの値を取得する方法
私はSQL Serverテーブルからデータを取得するリストビューを持っています。
<ListView Width="450" Margin="10" Grid.Row="1" ItemsSource="{Binding Path=Table}" Name="FIData" SelectionChanged="FIData_SelectionChanged">
<ListView.View>
<GridView>
<GridViewColumn Header="FI #" DisplayMemberBinding="{Binding Path=Id}"/>
<GridViewColumn Header="FI Short Name" DisplayMemberBinding="{Binding Path=ShortName}"/>
<GridViewColumn Header="FI Long Name" DisplayMemberBinding="{Binding Path=LongName}"/>
<GridViewColumn Header="Last Load Date" DisplayMemberBinding="{Binding Path=MostRecentEffectiveDate}"/>
</GridView>
</ListView.View>
</ListView>
SqlConnection con = new SqlConnection();
SqlDataAdapter ad = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
string strSql = "SELECT Id, ShortName, LongName, MostRecentEffectiveDate FROM Institutions";
public void BindData()
{
cmd.CommandText = strSql;
ad.SelectCommand = cmd;
con.ConnectionString = "Data Source=DEVDB\\ABC; Initial Catalog=Cat1; Integrated Security=True";
cmd.Connection = con;
DataSet ds = new DataSet();
ad.Fill(ds);
FIData.DataContext = ds.Tables[0].DefaultView;
con.Close();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
BindData();
}
ボタンをクリックすると、BindDataメソッドが呼び出され、私のリストビューには大丈夫です。私の問題は、選択したリスト項目からデータ値を取得する方法がわかりません。
他のすべての例では、ユーザーはC#コードまたはXMLなどのソースのプロパティからデータを入力しています。おそらく私の問題の1つは、オブジェクトをかなり理解していないと思っていますが、選択したリストから特定の値を取得する方法を私に見せてくれることを期待していました。後でこれらの値の1つを使用したいと思います。
おかげで、
ジェイソン
ここ
ありがとうございます。しかし、私がそうすると、selectedItemはnullの値を返しています。 – Jason
@Jason:なぜそれが 'null'(申し訳ありません)になるのか分かりませんが、解決策や詳細については、この回答を更新します。 – VoodooChild
私は椅子とモニターの間に問題があることを発見しました。私はブレークポイントが設定された行を実行するためにF10を押す必要があることを知らなかったので、決して実行されませんでした。もちろんそれはヌルでした。申し訳ありません。 :-) – Jason