我在 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;
}
}