diff --git a/插件库/Lskj.BaseInfo/FrmMain.cs b/插件库/Lskj.BaseInfo/FrmMain.cs index 75a0210..73652df 100644 --- a/插件库/Lskj.BaseInfo/FrmMain.cs +++ b/插件库/Lskj.BaseInfo/FrmMain.cs @@ -411,10 +411,55 @@ namespace Lskj.BaseInfo { GridDetailModel model = this.baseTab.GetGridDetailModel(tabPage); bool isDetailAttach = (model.IsReadOnly || model.IsChart); - string sqlValue = isDetailAttach ? model.DetailSql : GetSearchSql(model); - GridControlEx grdExMain = (tabPage.Tag as GridControlEx); - if (!isDetailAttach) grdExMain.LastSearchSql = sqlValue; - this.baseTab.SetGridDataSource(tabPage, this.ControlObj.ReplaceControlValue(sqlValue)); + //string sqlValue = isDetailAttach ? model.DetailSql : GetSearchSql(model); + //GridControlEx grdExMain = (tabPage.Tag as GridControlEx); + //if (!isDetailAttach) grdExMain.LastSearchSql = sqlValue; + //this.baseTab.SetGridDataSource(tabPage, this.ControlObj.ReplaceControlValue(sqlValue)); + if (tabPage.Tag is GridControlEx) + { + string sqlValue = isDetailAttach ? model.DetailSql : GetSearchSql(model); + GridControlEx grdExMain = (tabPage.Tag as GridControlEx); + if (!isDetailAttach) grdExMain.LastSearchSql = sqlValue; + this.baseTab.SetGridDataSource(tabPage, MainImpl.GetDataTableResult(ReplaceHelper.ReplaceRowParam(this._currentControlSource, sqlValue))); + //if (!model.IsReadOnly) isModifyPage.Add(model.FormKey, tabPage); + } + else if (tabPage.Tag is TabMultipledetails) + { + TabMultipledetails tabMultipledetails = tabPage.Tag as TabMultipledetails; + tabMultipledetails.SetConditionValues(this._currentControlSource); + GridControlEx grdExMain = (tabMultipledetails.SplitMain.Panel1.Tag as GridControlEx); + GridDetailModel MainModel = grdExMain.Tag as GridDetailModel; + string searchMainSql = ReplaceHelper.ReplaceRowParam(this._currentControlSource, isDetailAttach ? MainModel.DetailSql : GetSearchSql(MainModel)); + DataTable firstTable = MainImpl.GetDataTableResult(searchMainSql); + grdExMain.LastSearchSql = searchMainSql; + grdExMain.SetGridViewDataSource(firstTable); + if (tabMultipledetails.SplitMain.Panel2.Tag is GridControlEx) + { + GridControlEx grdExAdditional = (tabMultipledetails.SplitMain.Panel2.Tag as GridControlEx); + GridDetailModel AdditionalModel = grdExAdditional.Tag as GridDetailModel; + string searchAddSql = ReplaceHelper.ReplaceRowParam(this._currentControlSource, isDetailAttach ? AdditionalModel.DetailSql : GetSearchSql(AdditionalModel)); + if (!MainModel.IsUnioDetail) + { + grdExAdditional.LastSearchSql = searchAddSql; + grdExAdditional.SetGridViewDataSource(MainImpl.GetDataTableResult(searchAddSql)); + } + //右侧是左侧的明细,左侧没有数据时。右侧赋空值(因为无法触发左侧行改变事件) + if (MainModel.IsUnioDetail && firstTable.Rows.Count == 0) + { + grdExAdditional.LastSearchSql = ""; + grdExAdditional.SetGridViewDataSource(new DataTable()); + } + } + else if (tabMultipledetails.SplitMain.Panel2.Tag is ChartControlEx) + { + ChartControlEx grdExAdditional = (tabMultipledetails.SplitMain.Panel2.Tag as ChartControlEx); + GridDetailModel AdditionalModel = grdExAdditional.Tag as GridDetailModel; + string searchAddSql = this.GetSearchSql(AdditionalModel); + DataTable table = MainImpl.GetDataTableResult(searchAddSql); + grdExAdditional.CreateChart(table); + } + + } } }