基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,463 @@
|
||||
using DevExpress.XtraEditors;
|
||||
using DevExpress.XtraGrid.Views.Base;
|
||||
using DevExpress.XtraGrid.Views.Grid;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Model;
|
||||
using Lskj.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Lskj.PubArtworkDynamic.Control
|
||||
{
|
||||
public partial class ModuleGridDetail : UserControl
|
||||
{
|
||||
/// <summary>
|
||||
/// 模块类
|
||||
/// </summary>
|
||||
public ViewModel MainViewModel;
|
||||
/// <summary>
|
||||
/// 搜索按钮
|
||||
/// </summary>
|
||||
public SimpleButton SearchButton
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.SearchMainObj.ButtonObj != null)
|
||||
{
|
||||
return this.SearchMainObj.ButtonObj;
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.plm_top_btnFixSearch;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 主模块的表格
|
||||
/// </summary>
|
||||
public GridControlEx MainGridEx
|
||||
{
|
||||
get
|
||||
{
|
||||
if (gc_Top.ContainsFocus)
|
||||
{
|
||||
return gc_Top;
|
||||
}
|
||||
else
|
||||
{
|
||||
return gc_Bottom;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 上方表格控件
|
||||
/// </summary>
|
||||
public GridControlEx TopGridEx { get { return gc_Top; } }
|
||||
/// <summary>
|
||||
/// 下方表格控件
|
||||
/// </summary>
|
||||
public GridControlEx BottomGridEx { get { return gc_Bottom; } }
|
||||
/// <summary>
|
||||
/// 明细Model
|
||||
/// </summary>
|
||||
public GridDetailModel DetailModel;
|
||||
/// <summary>
|
||||
/// 主条件控件
|
||||
/// </summary>
|
||||
public MyControl SearchMainObj;
|
||||
/// <summary>
|
||||
/// 明细条件控件
|
||||
/// </summary>
|
||||
public MyControl SearchDetailObj;
|
||||
|
||||
/// <summary>
|
||||
/// 条件参数
|
||||
/// </summary>
|
||||
public string[] OtherParams;
|
||||
/// <summary>
|
||||
/// 拖拽方向(1只能拖拽到主表,2只能拖拽到明细。默认0都可以拖)
|
||||
/// </summary>
|
||||
public int DragDirection;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
public ModuleGridDetail(GridDetailModel model)
|
||||
{
|
||||
DetailModel = model;
|
||||
InitializeComponent();
|
||||
Load += OnModuleGridDetailLoad;
|
||||
}
|
||||
|
||||
public ModuleGridDetail(GridDetailModel model, string[] otherParams)
|
||||
{
|
||||
DetailModel = model;
|
||||
this.OtherParams = otherParams;
|
||||
InitializeComponent();
|
||||
Load += OnModuleGridDetailLoad;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 加载完成后
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnModuleGridDetailLoad(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
gc_Top.GridView.OptionsSelection.MultiSelect = false;
|
||||
gc_Top.GridView.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;
|
||||
gc_Bottom.GridView.OptionsSelection.MultiSelect = false;
|
||||
gc_Bottom.GridView.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;
|
||||
gc_Top.GridView.RowClick += OnGridViewRowClick;
|
||||
gc_Bottom.GridView.RowClick += OnGridViewRowClick;
|
||||
//gc_Bottom.GridView.FocusedRowObjectChanged += OnGridViewFocusedRowObjectChanged;
|
||||
if (DetailModel != null)
|
||||
{
|
||||
this.DragDirection = DetailModel.SystemModel.DragDirection;
|
||||
if (DetailModel.IsReadOnly)
|
||||
{
|
||||
this.SearchMainObj = new MyControl(DetailModel.DetailSql, gc_Top);//构建主表mycontrol
|
||||
}
|
||||
else
|
||||
{
|
||||
this.SearchMainObj = new MyControl(DetailModel.SystemModel.MenuSql, gc_Top);//构建主表mycontrol
|
||||
}
|
||||
this.SearchMainObj.OtherParams = this.OtherParams;
|
||||
this.SearchMainObj.OnSearchAfterCallBack += OnSearchAfterCallBack;//搜索完成后
|
||||
DataTable gridColumns = new DataTable();
|
||||
if (!string.IsNullOrEmpty(DetailModel.UnionModule))
|
||||
{
|
||||
gridColumns = BaseModuleImpl.GetBaseGridColumns(DetailModel.UnionModule);
|
||||
}
|
||||
else
|
||||
{
|
||||
gridColumns = ReportImpl.GetReportDetailColumns(MainViewModel.SysModel.ModuleCode, DetailModel.Id + "");
|
||||
}
|
||||
gc_Top.GridView.OptionsBehavior.Editable = false;
|
||||
gc_Top.SetReadOnlyColumns(gridColumns, GridCustomColumnStruct.BaseMainGridView + DetailModel.FormKey);//明细
|
||||
DynamicModel dyncModel = new DynamicModuleModel(new string[] { DetailModel.DetailName, ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, MainViewModel.SysModel.Privilege, DetailModel.UnionModule, "0" });
|
||||
if (!string.IsNullOrEmpty(DetailModel.SystemModel.ModeCode))
|
||||
{
|
||||
gc_Top.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(DetailModel.SystemModel.ModeCode), dyncModel, OnRightMenuCallBack, this.SearchMainObj);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(DetailModel.FormKey))
|
||||
{
|
||||
gc_Top.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(DetailModel.FormKey), dyncModel, OnRightMenuCallBack, this.SearchMainObj);
|
||||
}
|
||||
DataTable queryTable = BaseModuleImpl.GetCustomQueryFields(DetailModel.SystemModel.CondKey);//获取主模块构建的条件
|
||||
if (queryTable != null && queryTable.Rows.Count > 0)
|
||||
{
|
||||
// 加载自定义查询条件
|
||||
this.pl_top_cond.Controls.Clear();
|
||||
this.SearchMainObj.InitSearchControl(queryTable, this.pl_top_cond, null, null, DetailModel.SystemModel.ConditionRefresh);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 加载固定查询条件
|
||||
DataTable table = BaseModuleImpl.GetFixedQueryFields(DetailModel.SystemModel.ModeCode);//加载固定查询条件
|
||||
this.plm_top_cbField.DisplayMember = "fieldText";
|
||||
this.plm_top_cbField.ValueMember = "fieldName";
|
||||
this.plm_top_cbField.DataSource = table;
|
||||
this.SearchMainObj.InitDefaultSearchControl(table, this.pl_top_cond, this.plm_top_cbField.Name, this.plm_top_txtFixKey.Name, this.plm_top_btnFixSearch.Name);
|
||||
}
|
||||
//加载明细表格
|
||||
DataTable moduleDetailTable = BaseModuleImpl.GetBaseDetailPages(DetailModel.UnionModule);//获取关联模块配置明细
|
||||
DataRow detailRow = moduleDetailTable.Rows.Cast<DataRow>().Where(n => (n["orderId"] + "").Equals("99")).FirstOrDefault();
|
||||
if (detailRow != null)
|
||||
{
|
||||
GridDetailModel bottomDetailModel = new GridDetailModel(detailRow);
|
||||
bottomDetailModel.SystemModel = new ModuleModel(MainImpl.GetSystemdllTab(bottomDetailModel.UnionModule));//获取主模块构建类
|
||||
gc_Bottom.Tag = bottomDetailModel;
|
||||
if (bottomDetailModel.IsReadOnly)
|
||||
{
|
||||
this.SearchDetailObj = new MyControl(bottomDetailModel.DetailSql, gc_Bottom);//构建明细表mycontrol
|
||||
}
|
||||
else
|
||||
{
|
||||
this.SearchDetailObj = new MyControl(bottomDetailModel.SystemModel.MenuSql, gc_Bottom);//构建明细表mycontrol
|
||||
}
|
||||
DataTable bottomDetailColumns = new DataTable();
|
||||
if (!string.IsNullOrEmpty(bottomDetailModel.UnionModule))
|
||||
{
|
||||
bottomDetailColumns = BaseModuleImpl.GetBaseGridColumns(bottomDetailModel.UnionModule);
|
||||
}
|
||||
else
|
||||
{
|
||||
bottomDetailColumns = ReportImpl.GetReportDetailColumns(MainViewModel.SysModel.ModuleCode, bottomDetailModel.Id + "");
|
||||
}
|
||||
gc_Bottom.GridView.OptionsBehavior.Editable = false;
|
||||
gc_Bottom.SetReadOnlyColumns(bottomDetailColumns, GridCustomColumnStruct.BaseMainGridView + bottomDetailModel.FormKey);//明细
|
||||
DynamicModel dyncBottomDetailModel = new DynamicModuleModel(new string[] { bottomDetailModel.DetailName, ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, MainViewModel.SysModel.Privilege, bottomDetailModel.UnionModule, "0" });
|
||||
if (!string.IsNullOrEmpty(bottomDetailModel.SystemModel.ModeCode))
|
||||
{
|
||||
gc_Bottom.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(bottomDetailModel.SystemModel.ModeCode), dyncBottomDetailModel, OnRightMenuCallBack, SearchDetailObj);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(bottomDetailModel.FormKey))
|
||||
{
|
||||
gc_Bottom.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(bottomDetailModel.FormKey), dyncBottomDetailModel, OnRightMenuCallBack, SearchDetailObj);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
splitMainControl.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ModuleModel MainModuleModel = new ModuleModel(MainImpl.GetSystemdllTab(MainViewModel.SysModel.ModuleCode));//获取主模块构建类
|
||||
this.DragDirection = MainModuleModel.DragDirection;
|
||||
this.SearchMainObj = new MyControl(MainModuleModel.MenuSql, gc_Top);//构建主表mycontrol
|
||||
this.SearchMainObj.OtherParams = this.OtherParams;
|
||||
this.SearchMainObj.OnSearchAfterCallBack += OnSearchAfterCallBack;//搜索完成后
|
||||
DataTable gridColumns = BaseModuleImpl.GetBaseGridColumns(MainModuleModel.ModeCode);
|
||||
gc_Top.GridView.OptionsBehavior.Editable = false;
|
||||
gc_Top.SetReadOnlyColumns(gridColumns, GridCustomColumnStruct.BaseMainGridView + MainModuleModel.FormKey);//明细
|
||||
DynamicModel dyncModel = new DynamicModuleModel(new string[] { MainModuleModel.MenuName, ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, MainViewModel.SysModel.Privilege, MainModuleModel.ModeCode, "0" });
|
||||
if (!string.IsNullOrEmpty(MainModuleModel.ModeCode))
|
||||
{
|
||||
gc_Top.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(MainModuleModel.ModeCode), dyncModel, OnRightMenuCallBack, this.SearchMainObj);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(MainModuleModel.FormKey))
|
||||
{
|
||||
gc_Top.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(MainModuleModel.FormKey), dyncModel, OnRightMenuCallBack, this.SearchMainObj);
|
||||
}
|
||||
DataTable queryTable = BaseModuleImpl.GetCustomQueryFields(MainModuleModel.CondKey);//获取主模块构建的条件
|
||||
if (queryTable != null && queryTable.Rows.Count > 0)
|
||||
{
|
||||
// 加载自定义查询条件
|
||||
this.pl_top_cond.Controls.Clear();
|
||||
this.SearchMainObj.InitSearchControl(queryTable, this.pl_top_cond, null, null, MainModuleModel.ConditionRefresh);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 加载固定查询条件
|
||||
DataTable table = BaseModuleImpl.GetFixedQueryFields(DetailModel.SystemModel.ModeCode);//加载固定查询条件
|
||||
this.plm_top_cbField.DisplayMember = "fieldText";
|
||||
this.plm_top_cbField.ValueMember = "fieldName";
|
||||
this.plm_top_cbField.DataSource = table;
|
||||
this.SearchMainObj.InitDefaultSearchControl(table, this.pl_top_cond, this.plm_top_cbField.Name, this.plm_top_txtFixKey.Name, this.plm_top_btnFixSearch.Name);
|
||||
}
|
||||
//加载明细表格
|
||||
DataTable moduleDetailTable = BaseModuleImpl.GetBaseDetailPages(MainModuleModel.ModeCode);//获取关联模块配置明细
|
||||
DataRow detailRow = moduleDetailTable.Rows.Cast<DataRow>().Where(n => (n["orderId"] + "").Equals("99")).FirstOrDefault();
|
||||
if (detailRow != null)
|
||||
{
|
||||
GridDetailModel bottomDetailModel = new GridDetailModel(detailRow);
|
||||
bottomDetailModel.SystemModel = new ModuleModel(MainImpl.GetSystemdllTab(bottomDetailModel.UnionModule));//获取主模块构建类
|
||||
gc_Bottom.Tag = bottomDetailModel;
|
||||
if (bottomDetailModel.IsReadOnly)
|
||||
{
|
||||
this.SearchDetailObj = new MyControl(bottomDetailModel.DetailSql, gc_Bottom);//构建明细表mycontrol
|
||||
}
|
||||
else
|
||||
{
|
||||
this.SearchDetailObj = new MyControl(bottomDetailModel.SystemModel.MenuSql, gc_Bottom);//构建明细表mycontrol
|
||||
}
|
||||
DataTable bottomDetailColumns = new DataTable();
|
||||
if (!string.IsNullOrEmpty(bottomDetailModel.UnionModule))
|
||||
{
|
||||
bottomDetailColumns = BaseModuleImpl.GetBaseGridColumns(bottomDetailModel.UnionModule);
|
||||
}
|
||||
else
|
||||
{
|
||||
bottomDetailColumns = ReportImpl.GetReportDetailColumns(MainViewModel.SysModel.ModuleCode, bottomDetailModel.Id + "");
|
||||
}
|
||||
gc_Bottom.GridView.OptionsBehavior.Editable = false;
|
||||
gc_Bottom.SetReadOnlyColumns(bottomDetailColumns, GridCustomColumnStruct.BaseMainGridView + bottomDetailModel.FormKey);//明细
|
||||
DynamicModel dyncBottomDetailModel = new DynamicModuleModel(new string[] { bottomDetailModel.DetailName, ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, MainViewModel.SysModel.Privilege, bottomDetailModel.UnionModule, "0" });
|
||||
if (!string.IsNullOrEmpty(bottomDetailModel.SystemModel.ModeCode))
|
||||
{
|
||||
gc_Bottom.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(bottomDetailModel.SystemModel.ModeCode), dyncBottomDetailModel, OnRightMenuCallBack, SearchDetailObj);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(bottomDetailModel.FormKey))
|
||||
{
|
||||
gc_Bottom.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(bottomDetailModel.FormKey), dyncBottomDetailModel, OnRightMenuCallBack, SearchDetailObj);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
splitMainControl.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 右键菜单回调
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnRightMenuCallBack(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
SearchMainObj.SearchGrid();
|
||||
RefushLeftDetail();
|
||||
RefushBottomLeftDetail();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 搜索完成后
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnSearchAfterCallBack(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
RefushWaitDetail();
|
||||
RefushLeftDetail();
|
||||
RefushBottomLeftDetail();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 行选中改变时刷新明细
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
public void OnGridViewRowClick(object sender, RowClickEventArgs e)
|
||||
{
|
||||
GridView gridView = (GridView)sender;
|
||||
if (gridView == gc_Top.GridView)
|
||||
{
|
||||
RefushLeftDetail();
|
||||
}
|
||||
RefushWaitDetail();
|
||||
RefushBottomLeftDetail();
|
||||
}
|
||||
/// <summary>
|
||||
/// 刷新左边选中的明细信息
|
||||
/// </summary>
|
||||
public void RefushLeftDetail()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (MainViewModel.LeftTabControl.TabControlObj.SelectedTabPage != null)
|
||||
{
|
||||
ModuleGridDetail moduleGridDetail = MainViewModel.LeftTabControl.TabControlObj.SelectedTabPage.Controls[0] as ModuleGridDetail;
|
||||
DataRow rowItem = moduleGridDetail.TopGridEx.GetViewFocusedDataRow();
|
||||
if (rowItem != null && moduleGridDetail.BottomGridEx.Tag != null && moduleGridDetail.BottomGridEx.Tag is GridDetailModel)
|
||||
{
|
||||
GridDetailModel leftDetailModel = moduleGridDetail.BottomGridEx.Tag as GridDetailModel;
|
||||
string sqlValue = this.GetSearchSql(leftDetailModel, rowItem);
|
||||
DataTable dataTable = MainImpl.GetDataTableResult(sqlValue);
|
||||
moduleGridDetail.BottomGridEx.SetGridViewDataSource(dataTable);
|
||||
moduleGridDetail.BottomGridEx.LastSearchSql = sqlValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 刷新左边选中的底部明细信息
|
||||
/// </summary>
|
||||
public void RefushBottomLeftDetail()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (MainViewModel.LeftTabControl.TabControlObj.SelectedTabPage != null)
|
||||
{
|
||||
ModuleGridDetail moduleGridDetail = MainViewModel.LeftTabControl.TabControlObj.SelectedTabPage.Controls[0] as ModuleGridDetail;
|
||||
DataRow rowItem = null;
|
||||
if (moduleGridDetail.BottomGridEx.Visible == true)
|
||||
{
|
||||
rowItem = moduleGridDetail.BottomGridEx.GetViewFocusedDataRow();
|
||||
}
|
||||
if (rowItem == null || moduleGridDetail.BottomGridEx.Visible == false)
|
||||
{
|
||||
rowItem = moduleGridDetail.TopGridEx.GetViewFocusedDataRow();
|
||||
}
|
||||
if (rowItem != null && MainViewModel.BottomLeftGridEx.Tag != null && MainViewModel.BottomLeftGridEx.Tag is GridDetailModel)
|
||||
{
|
||||
GridDetailModel bottomLeftDetailModel = MainViewModel.BottomLeftGridEx.Tag as GridDetailModel;
|
||||
string sqlValue = this.GetSearchSql(bottomLeftDetailModel, rowItem);
|
||||
DataTable dataTable = MainImpl.GetDataTableResult(sqlValue);
|
||||
MainViewModel.BottomLeftGridEx.SetGridViewDataSource(dataTable);
|
||||
MainViewModel.BottomLeftGridEx.LastSearchSql = sqlValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 刷新等待区
|
||||
/// </summary>
|
||||
public void RefushWaitDetail()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (MainViewModel.LeftTabControl.TabControlObj.SelectedTabPage != null && MainViewModel.RightTabControl.TabControlObj.SelectedTabPage != null)
|
||||
{
|
||||
ModuleGridDetail moduleGridDetail = MainViewModel.LeftTabControl.TabControlObj.SelectedTabPage.Controls[0] as ModuleGridDetail;
|
||||
ModuleGrid moduleGrid = MainViewModel.RightTabControl.TabControlObj.SelectedTabPage.Controls[0] as ModuleGrid;
|
||||
DataRow rowItem = moduleGridDetail.TopGridEx.GetViewFocusedDataRow();
|
||||
if (rowItem != null && moduleGrid.MainGridEx.Tag != null && moduleGrid.MainGridEx.Tag is GridDetailModel)
|
||||
{
|
||||
GridDetailModel gridDetailModel = moduleGrid.MainGridEx.Tag as GridDetailModel;
|
||||
string sqlValue = this.GetSearchSql(gridDetailModel, rowItem);
|
||||
DataTable dataTable = MainImpl.GetDataTableResult(sqlValue);
|
||||
moduleGrid.MainGridEx.SetGridViewDataSource(dataTable);
|
||||
moduleGrid.MainGridEx.LastSearchSql = sqlValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取查询条件
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <param name="rowItem"></param>
|
||||
/// <returns></returns>
|
||||
private string GetSearchSql(GridDetailModel model, DataRow rowItem)
|
||||
{
|
||||
string fieldName = !string.IsNullOrEmpty(model.UnionParentField) && rowItem.Table.Columns.Contains(model.UnionParentField) ? model.UnionParentField : MainViewModel.MoudleMainObj.ParmaryKey;
|
||||
string sqlValue = model.IsReadOnly || model.IsChart ? model.DetailSql : model.SystemModel.MenuSql;
|
||||
|
||||
sqlValue = ReplaceHelper.ReplaceRowParam(rowItem, sqlValue);
|
||||
|
||||
if (ReplaceHelper.IsSelect(sqlValue) && !string.IsNullOrEmpty(model.UnionValue))
|
||||
{
|
||||
sqlValue = ReplaceHelper.ReplaceWhereCond(sqlValue) + string.Format(" and {0}='{1}'", model.UnionValue, rowItem[fieldName] + "");
|
||||
}
|
||||
if (!string.IsNullOrEmpty(model.UnionCond))
|
||||
{
|
||||
string UnionCond = ReplaceHelper.ReplaceRowParam(rowItem, model.UnionCond);
|
||||
sqlValue += UnionCond;
|
||||
}
|
||||
return sqlValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user