c# - 从另一个对象触发事件处理 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();
}
有没有办法在其事件功能之外控制表格?
解决方案
推荐阅读
- javascript - React 在 *.map 内渲染时不会渲染数组的第一个对象
- c# - 结合 backgroundworker 和 multitread C#
- vba - Vba 计数范围内具有特定颜色的单元格,由条件格式着色
- excel - 如果单元格为空白,VBA 代码删除行不起作用
- python - 如何仅更改熊猫数据框中仅具有特定数字总和的组的最大值
- python-3.x - 断言失败:预测必须 >= 0,条件 x >= y 在元素上不成立
- angular - 角度解析未设置 ActivatedRoute 数据
- sql - SQL 查询 - 将编码转换为 UTF-8
- c++ - 如何将预编译/预编译的 *.o 目标文件添加到 GN 中的可执行文件
- mysql - 如何从子查询中获取最大值?