首页 > 解决方案 > 从另一个对象触发事件处理 DatagridView 数据源

问题描述

我正在 WPF 上编写交互式数据网格视图,用户可以单击单元格,通过从多个数据源中进行选择来更改内容。当用户单击一个单元格时,会触发双击单元格事件,如下所示:

private TabItem item(..){

Table= new forms.DataGridView();
Table.DataSource = DataSource1(); //Default
Table.CellDoubleClick += delegate (object sender, forms.DataGridViewCellEventArgs args){

{
var senderGrid = (forms.DataGridView)sender;

//Depending on some conditions the user can switch to DataSource2(), DataSource3() 
if(Condition 1)
senderGrid.DataSource = DataSource2();

}

到目前为止,一切都按预期工作!表格双击事件按程序切换数据源。

现在问题出现了,当我想从组合框事件触发器中更新表时。该表保持不变,我想我没有正确处理该对象。

//Still inside the same TabItem item(..)
newCombo.DropDownClosed += delegate (Object sender, EventArgs e)
{
 ComboBox cmb = sender as ComboBox;
if(Condition)
 Table.DataSource = DataSource2();  
}

有没有办法在其事件功能之外控制表格?

标签: c#wpfdatagridviewdatagrid

解决方案


推荐阅读