WPFユーザーコントロールにデータグリッド(DevExpress)があります
dg_VQはデータグリッド名です
リストボックスがありますlst_REQ_LIST
SelectionChangedで、2つのデータグリッドをリロードします
_load_dataの行this.dg_VQ.ItemsSource=null;
例外が発生している場所です。それが発生する方法は、私が困惑したことです。リスト内のアイテムを選択した場合、何回選択しても機能しません。ただし、グリッドにデータがあるiemを選択してから、リスト内の別のアイテムを選択するとすぐにエラーが発生します。
これが間抜けな部分です。ラインを停止すると、機能します。何かが別のスレッドで終了するのを待っているようなものですが、既知のスピンオフスレッドはありません。ルーチンでキャッチがヒットすることはありません。
例外を除いてメッセージボックスをポップするだけです
データクラスの使用
private void lst_REQ_LIST_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (lst_REQ_LIST.SelectedValue == null) { return; }
_selection_changed();
}
private void _selection_changed()
{
string sGUID = lst_REQ_LIST.SelectedValue.ToString().ToUpper();
req_guid = new Guid(sGUID);
quote_guid = new Guid("{00000000-0000-0000-0000-000000000000}");
_load_data();
}
private void _load_data()
{
try
{
// Load the top grid
this.dg_VQ.ItemsSource = null;
this.dg_VQ.ItemsSource = dbP.tbl_vendor_quote_requests
.Where(x => x.requisition_guid == req_guid);
this.dg_VQ.RefreshData();
// Load the bottom grid
this.dg_VQ_DTL.ItemsSource = null;
this.dg_VQ_DTL.ItemsSource = db.tbl_vendor_quote_request_dtls
.Where(x => x.vendor_quote_request_guid == quote_guid)
.OrderBy(x => x.item_number);
this.dg_VQ_DTL.RefreshData();
}
catch (Exception e)
{
throw e;
}
}