主数据\明细数据网格视图设计崩溃

时间:2018-08-08 20:48:03

标签: codesmith .nettiers

我对应该是简单的东西迷失了。 我在3个表之间有Master / Detail / Detail关系,master是控件集,并且与第一个细节一起正常工作,这个细节是第二个细节的主人。

Master-> Detail(Master)D1 ---> Detail D2

D1绑定到datagridview,D2也绑定到datagridview, 常见情况当您从主DataGridView中选择一行时,详细信息DataGridView会填充与所选行相关的列。并且此工作很好,但是如果我在主数据网格中有多行并尝试更改它们之间的选择,则第二个gridview的设计将崩溃并且所有行均消失,并且在尝试单击保存时我得到的索引必须为非负数enter image description here

我正在将.net 4.6和nettires与Codesmith生成器一起使用。

绑定功能

   public void SetActiveBindingByActiveControl(Control ctrl)
        {
            BindingSource bsSource = null;
            if (ctrl.GetType() == typeof(AdvancedDataGridView))
                bsSource = (BindingSource)((AdvancedDataGridView)ctrl).DataSource;

            else if (ctrl.GetType() == typeof(SmartDataGidView))
                bsSource = (BindingSource)((SmartDataGidView)ctrl).DataSource;
            else
            {
                PropertyInfo pi = ctrl.GetType().GetProperty("DataBindings");
                if (pi != null)
                {
                    ControlBindingsCollection coll = (ControlBindingsCollection)pi.GetValue(ctrl, null);
                    if (coll.Count > 0)
                        bsSource = (BindingSource)coll[0].DataSource;
                }
            }

            SetActiveBindingByBindingSource(bsSource);
        }

任何建议!!!

0 个答案:

没有答案