如何获取DataGrid SelectionChanged触发器源组件

本文关键字:SelectionChanged 触发器 组件 DataGrid 何获取 获取 | 更新日期: 2023-09-27 18:19:47

我有一个绑定到对象的组合框,该对象也绑定到DataGrid。当我更改数据网格中的组合框选择或SelectedItem时,会触发组合框中的事件SelecionChanged。

有没有办法知道哪个组件(DataGrid或ComboBox)触发了该事件?

如何获取DataGrid SelectionChanged触发器源组件

为了让组合框返回,我想它被设置为AutoPostBack?如果这会影响GridView上的数据,那么所有事件都将触发。当触发完全回发时(例如组合框设置为AutoPostBack=true),将触发每个包含新数据的事件。

您应该查看控制生命周期:http://msdn.microsoft.com/en-us/library/aa719775(v=vs.71).aspx(这只是msdn文档,它不太好,但它是一个很好的起点)。

你还应该试着发布一些代码来回答你的问题:)你在做什么有点模棱两可。它们都绑定到什么对象?还是同一个数据集同时绑定到GridView和ComboBox?

编辑:这篇文章可能会有所帮助:两种类型的回发事件

如果我是你,我会将断点放在SelectedItem或SelectedChanged断点处,并尝试在调试模式下运行解决方案,并查看第一个断点所在的位置;)调用堆栈也会对您有所帮助。

假设它们都连接到一个对象数据源。您可以使用相同的SelectMethod为下拉菜单创建一个单独的数据源。这样,它们在回发后都会使用相同的数据进行更新。

否则,请对下拉菜单的onchange事件使用javascript,并使用if是否已更改设置隐藏字段。然后检查该值,看看它是否来自下拉列表。

<asp:DropDownList runat="server" ID="drpOption"onchange="javascript:OptionChanged();"></asp:DropDownList>
function OptionChanged() {
    $('#hdnField').val = 'true';
    return false;
}

U可以通过应用BreakPoint来检查DAtaGRid和组合框and的选择更改事件,哪个部分首先执行。。!!