2431 lines
117 KiB
C#
2431 lines
117 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using DevExpress.XtraGrid;
|
|
using System.Windows.Forms;
|
|
using DevExpress.XtraGrid.Views.Grid;
|
|
using System.Data;
|
|
using CommonLib.utils;
|
|
using CommonLib;
|
|
using System.Collections;
|
|
using System.Data.SqlClient;
|
|
using DevExpress.XtraEditors;
|
|
using System.ComponentModel;
|
|
using DevExpress.XtraGrid.Columns;
|
|
using System.Diagnostics;
|
|
using Lskj.MyControl;
|
|
using DevExpress.XtraTreeList;
|
|
using DevExpress.XtraCharts;
|
|
using Lskj.MyControl.Panel_Chart;
|
|
using System.Threading;
|
|
using DevExpress.XtraGrid.Views.Layout;
|
|
using System.IO;
|
|
using System.Web;
|
|
|
|
namespace Lskj.Common
|
|
{
|
|
/// <summary>
|
|
/// Class GridMenu.
|
|
/// </summary>
|
|
public class GridMenu
|
|
{
|
|
public string FormText { get; set; }
|
|
public string OperatorId { get; set; }
|
|
public string OperatorName { get; set; }
|
|
public string Privilege { get; set; }
|
|
public string DLLCoid { get; set; }
|
|
public string Sql { get; set; }
|
|
public string DirId { get; set; }
|
|
public string ObjectId { get; set; }
|
|
public string filedKey { get; set; }
|
|
public GridControl gc { get; set; }
|
|
public TreeList tl { get; set; }
|
|
public Panel_Chart chart { get; set; }
|
|
public Control btnCtr { get; set; }
|
|
public refreshData internal_func { get; set; }
|
|
public delegate void refreshData(object sender, string DJH);
|
|
public event EventHandler OnGridMenuClickRefreshData; // 点击右键菜单后,刷新表格数据
|
|
public String ShowMenuType { get; set; }
|
|
public DataTable DtMenuList = new DataTable();
|
|
public GridControlEx grid;
|
|
/// <summary>
|
|
/// 主表面板
|
|
/// </summary>
|
|
public Panel MainPanel { get; set; }
|
|
|
|
private List<ToolStripMenuItem> tsmMenuList = new List<ToolStripMenuItem>();
|
|
public GridMenu(string FormText, string OperatorId, string OperatorName, string Privilege, string DLLCoid, string Sql, GridControl gc)
|
|
{
|
|
this.FormText = FormText;
|
|
this.OperatorId = OperatorId;
|
|
this.OperatorName = OperatorName;
|
|
this.Privilege = Privilege;
|
|
this.DLLCoid = DLLCoid;
|
|
this.Sql = Sql;
|
|
this.gc = gc;
|
|
}
|
|
|
|
public GridMenu(string FormText, string OperatorId, string OperatorName, string Privilege, string DLLCoid, string Sql, TreeList tl)
|
|
{
|
|
this.FormText = FormText;
|
|
this.OperatorId = OperatorId;
|
|
this.OperatorName = OperatorName;
|
|
this.Privilege = Privilege;
|
|
this.DLLCoid = DLLCoid;
|
|
this.Sql = Sql;
|
|
this.tl = tl;
|
|
}
|
|
|
|
public GridMenu(string FormText, string OperatorId, string OperatorName, string Privilege, string DLLCoid, string Sql, Panel_Chart chart)
|
|
{
|
|
this.FormText = FormText;
|
|
this.OperatorId = OperatorId;
|
|
this.OperatorName = OperatorName;
|
|
this.Privilege = Privilege;
|
|
this.DLLCoid = DLLCoid;
|
|
this.Sql = Sql;
|
|
this.chart = chart;
|
|
}
|
|
|
|
public GridMenu(string FormText, string OperatorId, string OperatorName, string Privilege, string DLLCoid, string Sql, GridControl gc, refreshData func)
|
|
{
|
|
this.FormText = FormText;
|
|
this.OperatorId = OperatorId;
|
|
this.OperatorName = OperatorName;
|
|
this.Privilege = Privilege;
|
|
this.DLLCoid = DLLCoid;
|
|
this.Sql = Sql;
|
|
this.gc = gc;
|
|
this.internal_func = func;
|
|
}
|
|
|
|
public void BindGridMenu(string tab)
|
|
{
|
|
ContextMenuStrip msItem = new ContextMenuStrip();
|
|
msItem.Opening += new CancelEventHandler(cmsGrid_Opening);
|
|
if (ShowMenuType == "bill")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible1=0 order by orderid asc").Tables[0];
|
|
}
|
|
else if (ShowMenuType == "sh")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible2=0 order by orderid asc").Tables[0];
|
|
}
|
|
else
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 order by orderid asc").Tables[0];
|
|
}
|
|
foreach (DataRow dr in DtMenuList.Rows)
|
|
{
|
|
ToolStripMenuItem tsm = new ToolStripMenuItem(dr["menuname"].ToString());
|
|
|
|
tsm.Click += new EventHandler(tsm_Click);
|
|
tsm.Tag = dr;
|
|
tsm.Text = dr["menuname"].ToString();
|
|
if (!string.IsNullOrEmpty(tsm.Text))
|
|
tsm.Text = tsm.Text.Replace("\r", "").Replace("\n", "");
|
|
msItem.Items.Add(tsm);
|
|
tsmMenuList.Add(tsm);
|
|
}
|
|
//if (dt.Rows.Count > 0)
|
|
{
|
|
gc.ContextMenuStrip = msItem;
|
|
}
|
|
}
|
|
|
|
public void BindGridMenuChart(string tab)
|
|
{
|
|
ContextMenuStrip msItem = new ContextMenuStrip();
|
|
msItem.Opening += new CancelEventHandler(cmsGrid_Opening);
|
|
if (ShowMenuType == "bill")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible1=0 order by orderid asc").Tables[0];
|
|
}
|
|
else if (ShowMenuType == "sh")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible2=0 order by orderid asc").Tables[0];
|
|
}
|
|
else
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 order by orderid asc").Tables[0];
|
|
}
|
|
foreach (DataRow dr in DtMenuList.Rows)
|
|
{
|
|
ToolStripMenuItem tsm = new ToolStripMenuItem(dr["menuname"].ToString());
|
|
|
|
tsm.Click += new EventHandler(tsm_ClickChart);
|
|
tsm.Tag = dr;
|
|
tsm.Text = dr["menuname"].ToString();
|
|
if (!string.IsNullOrEmpty(tsm.Text))
|
|
tsm.Text = tsm.Text.Replace("\r", "").Replace("\n", "");
|
|
msItem.Items.Add(tsm);
|
|
tsmMenuList.Add(tsm);
|
|
}
|
|
//if (dt.Rows.Count > 0)
|
|
{
|
|
chart.chartControl.ContextMenuStrip = msItem;
|
|
|
|
}
|
|
}
|
|
|
|
public void BindGridMenuTreeList(string tab)
|
|
{
|
|
ContextMenuStrip msItem = new ContextMenuStrip();
|
|
msItem.Opening += new CancelEventHandler(cmsGrid_Opening);
|
|
if (ShowMenuType == "bill")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible1=0 order by orderid asc").Tables[0];
|
|
}
|
|
else if (ShowMenuType == "sh")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible2=0 order by orderid asc").Tables[0];
|
|
}
|
|
else
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where isnull(visible,0)=0 and tab='" + tab + "' and isnull(menutype,0)=0 order by orderid asc").Tables[0];
|
|
}
|
|
foreach (DataRow dr in DtMenuList.Rows)
|
|
{
|
|
ToolStripMenuItem tsm = new ToolStripMenuItem(dr["menuname"].ToString());
|
|
|
|
tsm.Click += new EventHandler(tsm_Click);
|
|
tsm.Tag = dr;
|
|
tsm.Text = dr["menuname"].ToString();
|
|
if (!string.IsNullOrEmpty(tsm.Text))
|
|
tsm.Text = tsm.Text.Replace("\r", "").Replace("\n", "");
|
|
msItem.Items.Add(tsm);
|
|
tsmMenuList.Add(tsm);
|
|
}
|
|
//if (dt.Rows.Count > 0)
|
|
{
|
|
tl.ContextMenuStrip = msItem;
|
|
|
|
}
|
|
}
|
|
|
|
public void BindGridMenuWQ(string tab, ContextMenuStrip menu)
|
|
{
|
|
ContextMenuStrip msItem = new ContextMenuStrip();
|
|
msItem.Opening += new CancelEventHandler(cmsGrid_Opening);
|
|
if (ShowMenuType == "bill")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where visible=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible1=0 order by orderid asc").Tables[0];
|
|
}
|
|
else if (ShowMenuType == "sh")
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where visible=0 and tab='" + tab + "' and isnull(menutype,0)=0 and visible2=0 order by orderid asc").Tables[0];
|
|
}
|
|
else
|
|
{
|
|
DtMenuList = SqlHelper.ExecuteDataSet("select * from P_systempopupmenu where visible=0 and tab='" + tab + "' and isnull(menutype,0)=0 order by orderid asc").Tables[0];
|
|
}
|
|
|
|
if (menu != null && menu.Items.Count > 0)
|
|
{
|
|
for (int i = menu.Items.Count - 1; i >= 0; i--)
|
|
{
|
|
ToolStripMenuItem item = menu.Items[i] as ToolStripMenuItem;
|
|
msItem.Items.Add(item);
|
|
tsmMenuList.Add(item);
|
|
}
|
|
}
|
|
|
|
foreach (DataRow dr in DtMenuList.Rows)
|
|
{
|
|
ToolStripMenuItem tsm = new ToolStripMenuItem(dr["menuname"].ToString());
|
|
tsm.Click += new EventHandler(tsm_Click);
|
|
tsm.Tag = dr;
|
|
tsm.Text = dr["menuname"].ToString();
|
|
if (!string.IsNullOrEmpty(tsm.Text))
|
|
tsm.Text = tsm.Text.Replace("\r", "").Replace("\n", "");
|
|
msItem.Items.Add(tsm);
|
|
tsmMenuList.Add(tsm);
|
|
}
|
|
|
|
if (DtMenuList.Rows.Count > 0)
|
|
{
|
|
gc.ContextMenuStrip = msItem;
|
|
}
|
|
}
|
|
|
|
public void BindGridMenuWQ(string tab)
|
|
{
|
|
BindGridMenuWQ(tab, null);
|
|
}
|
|
/// <summary>
|
|
///动态加载菜单
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void cmsGrid_Opening(object sender, CancelEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
ContextMenuStrip cms = (ContextMenuStrip)sender;
|
|
|
|
if (cms.SourceControl is GridControl)
|
|
{
|
|
cms.Items.Clear();
|
|
cms.Items.AddRange(tsmMenuList.ToArray());
|
|
|
|
List<ToolStripMenuItem> listQQ = new List<ToolStripMenuItem>();
|
|
List<ToolStripMenuItem> listWWW = new List<ToolStripMenuItem>();
|
|
|
|
if (gc.MainView is GridView)
|
|
{
|
|
GridView GridViewpub = gc.MainView as GridView;
|
|
if (GridViewpub.GetSelectedRows().Length < 1)
|
|
GridViewpub.SelectRow(GridViewpub.FocusedRowHandle);
|
|
int[] rowCount = GridViewpub.GetSelectedRows();
|
|
|
|
if (rowCount.Length > 0)
|
|
{
|
|
DataRow row = GridViewpub.GetDataRow(rowCount[0]);
|
|
GridColumnCollection columns = GridViewpub.Columns;
|
|
for (int i = 0; i < columns.Count; i++)
|
|
{
|
|
GridColumn gcItem = columns[i];
|
|
if (!row.Table.Columns.Contains(gcItem.Name))
|
|
continue;
|
|
if (gcItem.Tag == null)
|
|
{
|
|
if ((row[gcItem.Name].ToString().IndexOf("www", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("http://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("ftp://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("file://", StringComparison.OrdinalIgnoreCase) != -1))
|
|
{
|
|
if (!string.IsNullOrEmpty(row[gcItem.Name] + ""))
|
|
{
|
|
ToolStripMenuItem item = new ToolStripMenuItem("(" + gcItem.Caption + ")" + row[gcItem.Name] + "", global::Lskj.Common.Properties.Resources.www);
|
|
item.Tag = row[gcItem.Name];
|
|
item.Click += new EventHandler(item_www_Click);
|
|
listWWW.Add(item);
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
MyTagModel ctm = gcItem.Tag as MyTagModel;
|
|
string tag = string.Empty;
|
|
if (ctm == null)
|
|
{
|
|
tag = gcItem.Tag + "";
|
|
}
|
|
else
|
|
{
|
|
tag = ctm.Tag + "";
|
|
}
|
|
if (tag == "qq")
|
|
{
|
|
if (!string.IsNullOrEmpty(row[gcItem.Name] + ""))
|
|
{
|
|
ToolStripMenuItem item = new ToolStripMenuItem("(" + gcItem.Caption + ")" + row[gcItem.Name] + "", global::Lskj.Common.Properties.Resources.qq);
|
|
item.Tag = row[gcItem.Name];
|
|
item.Click += new EventHandler(item_qq_Click);
|
|
listQQ.Add(item);
|
|
}
|
|
}
|
|
if ((tag == "www") || (row[gcItem.Name].ToString().IndexOf("www", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("http://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("ftp://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("file://", StringComparison.OrdinalIgnoreCase) != -1))
|
|
{
|
|
if (!string.IsNullOrEmpty(row[gcItem.Name] + ""))
|
|
{
|
|
ToolStripMenuItem item = new ToolStripMenuItem("(" + gcItem.Caption + ")" + row[gcItem.Name] + "", global::Lskj.Common.Properties.Resources.www);
|
|
item.Tag = row[gcItem.Name];
|
|
item.Click += new EventHandler(item_www_Click);
|
|
listWWW.Add(item);
|
|
}
|
|
}
|
|
}
|
|
|
|
cms.Items.AddRange(listQQ.ToArray());
|
|
cms.Items.AddRange(listWWW.ToArray());
|
|
}
|
|
|
|
GridControl gridControl = cms.SourceControl as GridControl;
|
|
GridView gv = (gridControl.MainView as GridView);
|
|
ToolStripItemCollection gsc = gridControl.ContextMenuStrip.Items;
|
|
if (gridControl != null)
|
|
{
|
|
int[] rows = gv.GetSelectedRows();
|
|
foreach (int index in rows)
|
|
{
|
|
DataRow row = gv.GetDataRow(index);
|
|
foreach (ToolStripItem item in gsc)
|
|
{
|
|
DataRow pmenu = item.Tag as DataRow;
|
|
if (pmenu == null)
|
|
continue;
|
|
string menuCond = pmenu["menuCond"] + "";
|
|
string menuPrivilege = pmenu["privilegeOper"] + ",";
|
|
if (menuPrivilege.Length > 1 && !menuPrivilege.Contains(OperatorName + ","))
|
|
{
|
|
item.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
if (string.IsNullOrEmpty(menuCond))
|
|
continue;
|
|
menuCond = PubClass.ReqSqlParam(menuCond, OperatorId, OperatorName);
|
|
menuCond = PubClass.ReqSqlWhere(row, MainPanel, menuCond);
|
|
item.Enabled = Convert.ToBoolean(Evaluator.Eval(menuCond));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (gc.MainView is LayoutView)
|
|
{
|
|
LayoutView layoutView = gc.MainView as LayoutView;
|
|
if (layoutView.GetSelectedRows().Length < 1)
|
|
layoutView.SelectRow(layoutView.FocusedRowHandle);
|
|
int[] rowCount = layoutView.GetSelectedRows();
|
|
|
|
if (rowCount.Length > 0)
|
|
{
|
|
DataRow row = layoutView.GetDataRow(rowCount[0]);
|
|
LayoutViewColumnCollection columns = layoutView.Columns;
|
|
for (int i = 0; i < columns.Count; i++)
|
|
{
|
|
LayoutViewColumn gcItem = columns[i];
|
|
if (!row.Table.Columns.Contains(gcItem.Name))
|
|
continue;
|
|
if (gcItem.Tag == null)
|
|
{
|
|
if ((row[gcItem.Name].ToString().IndexOf("www", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("http://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("ftp://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("file://", StringComparison.OrdinalIgnoreCase) != -1))
|
|
{
|
|
if (!string.IsNullOrEmpty(row[gcItem.Name] + ""))
|
|
{
|
|
ToolStripMenuItem item = new ToolStripMenuItem("(" + gcItem.Caption + ")" + row[gcItem.Name] + "", global::Lskj.Common.Properties.Resources.www);
|
|
item.Tag = row[gcItem.Name];
|
|
item.Click += new EventHandler(item_www_Click);
|
|
listWWW.Add(item);
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
MyTagModel ctm = gcItem.Tag as MyTagModel;
|
|
string tag = string.Empty;
|
|
if (ctm == null)
|
|
{
|
|
tag = gcItem.Tag + "";
|
|
}
|
|
else
|
|
{
|
|
tag = ctm.Tag + "";
|
|
}
|
|
if (tag == "qq")
|
|
{
|
|
if (!string.IsNullOrEmpty(row[gcItem.Name] + ""))
|
|
{
|
|
ToolStripMenuItem item = new ToolStripMenuItem("(" + gcItem.Caption + ")" + row[gcItem.Name] + "", global::Lskj.Common.Properties.Resources.qq);
|
|
item.Tag = row[gcItem.Name];
|
|
item.Click += new EventHandler(item_qq_Click);
|
|
listQQ.Add(item);
|
|
}
|
|
}
|
|
if ((tag == "www") || (row[gcItem.Name].ToString().IndexOf("www", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("http://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("ftp://", StringComparison.OrdinalIgnoreCase) != -1)
|
|
|| (row[gcItem.Name].ToString().IndexOf("file://", StringComparison.OrdinalIgnoreCase) != -1))
|
|
{
|
|
if (!string.IsNullOrEmpty(row[gcItem.Name] + ""))
|
|
{
|
|
ToolStripMenuItem item = new ToolStripMenuItem("(" + gcItem.Caption + ")" + row[gcItem.Name] + "", global::Lskj.Common.Properties.Resources.www);
|
|
item.Tag = row[gcItem.Name];
|
|
item.Click += new EventHandler(item_www_Click);
|
|
listWWW.Add(item);
|
|
}
|
|
}
|
|
}
|
|
|
|
cms.Items.AddRange(listQQ.ToArray());
|
|
cms.Items.AddRange(listWWW.ToArray());
|
|
}
|
|
|
|
GridControl gridControl = cms.SourceControl as GridControl;
|
|
LayoutView lv = (gridControl.MainView as LayoutView);
|
|
ToolStripItemCollection gsc = gridControl.ContextMenuStrip.Items;
|
|
if (gridControl != null)
|
|
{
|
|
int[] rows = lv.GetSelectedRows();
|
|
foreach (int index in rows)
|
|
{
|
|
DataRow row = lv.GetDataRow(index);
|
|
foreach (ToolStripItem item in gsc)
|
|
{
|
|
DataRow pmenu = item.Tag as DataRow;
|
|
if (pmenu == null)
|
|
continue;
|
|
string menuCond = pmenu["menuCond"] + "";
|
|
string menuPrivilege = pmenu["privilegeOper"] + ",";
|
|
if (menuPrivilege.Length > 1 && !menuPrivilege.Contains(OperatorName + ","))
|
|
{
|
|
item.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
if (string.IsNullOrEmpty(menuCond))
|
|
continue;
|
|
menuCond = PubClass.ReqSqlParam(menuCond, OperatorId, OperatorName);
|
|
menuCond = PubClass.ReqSqlWhere(row, MainPanel, menuCond);
|
|
item.Enabled = Convert.ToBoolean(Evaluator.Eval(menuCond));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (cms.SourceControl is TreeList)
|
|
{
|
|
TreeList treeList = cms.SourceControl as TreeList;
|
|
ToolStripItemCollection gsc = treeList.ContextMenuStrip.Items;
|
|
DataRowView rowView = treeList.GetDataRecordByNode(treeList.FocusedNode) as DataRowView;
|
|
|
|
if (rowView != null)
|
|
{
|
|
DataRow row = rowView.Row;
|
|
foreach (ToolStripItem item in gsc)
|
|
{
|
|
DataRow pmenu = item.Tag as DataRow;
|
|
if (pmenu == null)
|
|
continue;
|
|
string menuCond = pmenu["menuCond"] + "";
|
|
string menuPrivilege = pmenu["privilegeOper"] + ",";
|
|
if (menuPrivilege.Length > 1 && !menuPrivilege.Contains(OperatorName + ","))
|
|
{
|
|
item.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
if (string.IsNullOrEmpty(menuCond))
|
|
continue;
|
|
menuCond = PubClass.ReqSqlParam(menuCond, OperatorId, OperatorName);
|
|
menuCond = PubClass.ReqSqlWhere(row, MainPanel, menuCond);
|
|
item.Enabled = Convert.ToBoolean(Evaluator.Eval(menuCond));
|
|
}
|
|
}
|
|
}
|
|
cms.Items.Clear();
|
|
cms.Items.AddRange(tsmMenuList.ToArray());
|
|
|
|
if (tsmMenuList.ToArray().Count() > 0)
|
|
{
|
|
cms.Items.Add(new ToolStripSeparator());
|
|
}
|
|
|
|
ToolStripMenuItem expandall = new ToolStripMenuItem("全部展开");
|
|
expandall.Click += new EventHandler(item_expandall_Click);
|
|
cms.Items.Add(expandall);
|
|
|
|
ToolStripMenuItem merge = new ToolStripMenuItem("全部合并");
|
|
merge.Click += new EventHandler(item_merge_Click);
|
|
cms.Items.Add(merge);
|
|
}
|
|
else if (cms.SourceControl is ChartControl)
|
|
{
|
|
ToolStripItemCollection gsc = chart.chartControl.ContextMenuStrip.Items;
|
|
foreach (ToolStripItem item in gsc)
|
|
{
|
|
DataRow pmenu = item.Tag as DataRow;
|
|
if (pmenu == null)
|
|
continue;
|
|
string menuCond = pmenu["menuCond"] + "";
|
|
string menuPrivilege = pmenu["privilegeOper"] + ",";
|
|
if (menuPrivilege.Length > 1 && !menuPrivilege.Contains(OperatorName + ","))
|
|
{
|
|
item.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(menuCond))
|
|
{
|
|
menuCond = PubClass.ReqSqlParam(menuCond, OperatorId, OperatorName);
|
|
item.Enabled = Convert.ToBoolean(Evaluator.Eval(menuCond));
|
|
}
|
|
}
|
|
//if (chart.seriesPoint == null)
|
|
// item.Enabled = false;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
#region 打开QQ
|
|
protected void item_qq_Click(object sender, EventArgs e)
|
|
{
|
|
ToolStripMenuItem t = (ToolStripMenuItem)sender;
|
|
string text = t.Tag + "";
|
|
if (string.IsNullOrEmpty(text))
|
|
{
|
|
MessageBox.Show("请输入您的QQ号码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
Process p = new Process();
|
|
ProcessStartInfo ps = new ProcessStartInfo();
|
|
string Url = string.Format(@"tencent://message/?Menu=yes&uin={0}", text);
|
|
ps.FileName = @"iexplore.exe";
|
|
ps.Arguments = Url;
|
|
ps.UseShellExecute = true;
|
|
ps.RedirectStandardInput = false;
|
|
//ps.WindowStyle = ProcessWindowStyle.Hidden;
|
|
p.StartInfo = ps;
|
|
p.Start();
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 打开WWW
|
|
protected void item_www_Click(object sender, EventArgs e)
|
|
{
|
|
ToolStripMenuItem t = (ToolStripMenuItem)sender;
|
|
string url = t.Tag + "";
|
|
|
|
if (string.IsNullOrEmpty(url))
|
|
{
|
|
MessageBox.Show("请输入您要打开网址", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
System.Diagnostics.Process.Start("iexplore.exe", url);
|
|
}
|
|
#endregion
|
|
|
|
#region 展开合并节点
|
|
/// <summary>
|
|
/// 展开所有节点
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void item_expandall_Click(object sender, EventArgs e)
|
|
{
|
|
tl.ExpandAll();
|
|
}
|
|
/// <summary>
|
|
/// 合并所有节点
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void item_merge_Click(object sender, EventArgs e)
|
|
{
|
|
tl.CollapseAll();
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 打开右键菜单
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void ms_Opening(object sender, CancelEventArgs e)
|
|
{
|
|
ContextMenuStrip cms = sender as ContextMenuStrip;
|
|
if (cms == null)
|
|
return;
|
|
GridControl gc = cms.SourceControl as GridControl;
|
|
if (gc == null)
|
|
return;
|
|
if (gc.MainView is GridView)
|
|
{
|
|
GridView gv = (gc.MainView as GridView);
|
|
ToolStripItemCollection gsc = gc.ContextMenuStrip.Items;
|
|
if (gc != null)
|
|
{
|
|
int[] rows = gv.GetSelectedRows();
|
|
foreach (int index in rows)
|
|
{
|
|
DataRow row = gv.GetDataRow(index);
|
|
foreach (ToolStripItem item in gsc)
|
|
{
|
|
DataRow pmenu = item.Tag as DataRow;
|
|
string menuCond = pmenu["menuCond"] + "";
|
|
string menuName = pmenu["menuname"] + "";
|
|
if (string.IsNullOrEmpty(menuCond))
|
|
continue;
|
|
menuCond = PubClass.ReqSqlParam(menuCond, OperatorId, OperatorName);
|
|
menuCond = PubClass.ReqSqlWhere(row, menuCond);
|
|
if (MainPanel != null)
|
|
{
|
|
menuCond = PubClass.ReqSqlWhere(MainPanel, menuCond);
|
|
}
|
|
|
|
try
|
|
{
|
|
item.Enabled = string.IsNullOrWhiteSpace(menuCond) || Convert.ToBoolean(Evaluator.Eval(menuCond));
|
|
}
|
|
catch (Exception)
|
|
{
|
|
XtraMessageBox.Show(string.Format("{0} 配置条件错误,请检查.", menuName));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (gc.MainView is LayoutView)
|
|
{
|
|
LayoutView gv = (gc.MainView as LayoutView);
|
|
ToolStripItemCollection gsc = gc.ContextMenuStrip.Items;
|
|
if (gc != null)
|
|
{
|
|
int[] rows = gv.GetSelectedRows();
|
|
foreach (int index in rows)
|
|
{
|
|
DataRow row = gv.GetDataRow(index);
|
|
foreach (ToolStripItem item in gsc)
|
|
{
|
|
DataRow pmenu = item.Tag as DataRow;
|
|
string menuCond = pmenu["menuCond"] + "";
|
|
string menuName = pmenu["menuname"] + "";
|
|
if (string.IsNullOrEmpty(menuCond))
|
|
continue;
|
|
menuCond = PubClass.ReqSqlParam(menuCond, OperatorId, OperatorName);
|
|
menuCond = PubClass.ReqSqlWhere(row, menuCond);
|
|
if (MainPanel != null)
|
|
{
|
|
menuCond = PubClass.ReqSqlWhere(MainPanel, menuCond);
|
|
}
|
|
|
|
try
|
|
{
|
|
item.Enabled = string.IsNullOrWhiteSpace(menuCond) || Convert.ToBoolean(Evaluator.Eval(menuCond));
|
|
}
|
|
catch (Exception)
|
|
{
|
|
XtraMessageBox.Show(string.Format("{0} 配置条件错误,请检查.", menuName));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 点击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void tsm_Click(object sender, EventArgs e)
|
|
{
|
|
bool isContinue = true; // 是否继续执行
|
|
bool multiRow = false; //多行执行标记
|
|
bool msgHinted = true; //多行执行时如果定义有提示只提示一次
|
|
ToolStripMenuItem t = sender as ToolStripMenuItem;
|
|
DataRow dr_p = t.Tag as DataRow;
|
|
|
|
DataRow[] d_Rows = GetSelectRow();
|
|
if (d_Rows == null || d_Rows.Length == 0)
|
|
{
|
|
XtraMessageBox.Show("请选择一行进行操作.");
|
|
return;
|
|
}
|
|
|
|
if (DtMenuList.Columns.Contains("ifMoreClick") && dr_p["ifMoreClick"] + "" == "1")
|
|
{
|
|
d_Rows = GetMultipleSelectRow();
|
|
multiRow = true;
|
|
}
|
|
else
|
|
{
|
|
if (d_Rows.Length > 1)
|
|
{
|
|
XtraMessageBox.Show("该功能只允许选择一行记录进行,请取消多行选择");
|
|
return;
|
|
}
|
|
}
|
|
|
|
for (int x = 0; x < d_Rows.Count(); x++)
|
|
{
|
|
if (!isContinue) return;
|
|
DataRow rowData = d_Rows[x];
|
|
if (rowData == null)
|
|
return;
|
|
GridView gv = null;
|
|
LayoutView lv = null;
|
|
int oldRowHandle = 0;
|
|
if (gc != null)
|
|
{
|
|
if (gc.MainView is GridView)
|
|
{
|
|
gv = gc.MainView as GridView;
|
|
oldRowHandle = gv.FocusedRowHandle;
|
|
}
|
|
if (gc.MainView is LayoutView)
|
|
{
|
|
lv = gc.MainView as LayoutView;
|
|
oldRowHandle = lv.FocusedRowHandle;
|
|
}
|
|
}
|
|
|
|
string beforeMsg = dr_p["beforeMsg"].ToString().Trim();
|
|
if ((beforeMsg != "") && (msgHinted == true))
|
|
{
|
|
msgHinted = false;
|
|
beforeMsg = PubClass.ReqSql(rowData, beforeMsg);
|
|
DialogResult dlgResult = XtraMessageBox.Show(beforeMsg, "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
|
if (dlgResult != DialogResult.Yes)
|
|
return;
|
|
}
|
|
string action = dr_p["action"].ToString();
|
|
int actionType = Convert.ToInt32(dr_p["actiontype"]);
|
|
int ifRefresh = Convert.ToInt32(dr_p["ifRefresh"]);
|
|
string dllName = dr_p["dllname"].ToString();
|
|
string maxWindow = dr_p["maxWindow"] + "";
|
|
List<string> valueList = new List<string>();
|
|
valueList.Add(dr_p["dllpar1"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar2"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar3"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar4"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar5"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar6"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar7"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar8"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar9"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar10"].ToString() + "");
|
|
|
|
string DJH = string.Empty;
|
|
dllName = dllName.Replace("{loginid}", ERPInfo.Instance.EmployeeId.ToString());
|
|
dllName = dllName.Replace("{loginname}", ERPInfo.Instance.EmployeeName.ToString());
|
|
//打开exe
|
|
if ((dllName.Trim() != "") && (dllName.ToLower().IndexOf(".exe", 1) != -1) && ((dllName.ToLower() != "iexplore.exe")) && ((dllName.ToLower() != "lstest.exe")))
|
|
{
|
|
string tmpDllName = dllName;
|
|
List<string> sqlpar = PubClass.GetParamValue(tmpDllName);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
tmpDllName = tmpDllName.Replace(s, rowData[filed] + "");
|
|
}
|
|
//MessageBox.Show(tmpDllName);
|
|
|
|
PubUtil.WinExec(tmpDllName, 1);
|
|
}
|
|
else if ((dllName.Trim() != "") && (dllName.ToLower().IndexOf("http:", StringComparison.OrdinalIgnoreCase) != -1) ||
|
|
(dllName.ToLower().IndexOf("www.", StringComparison.OrdinalIgnoreCase) != -1) ||
|
|
(dllName.ToLower().IndexOf("ftp:", StringComparison.OrdinalIgnoreCase) != -1))
|
|
{
|
|
Process.Start(dllName);
|
|
}
|
|
else
|
|
//打开dll
|
|
if (actionType == 2)
|
|
{
|
|
#region 打开DLL
|
|
List<string> paremList = new List<string>();
|
|
foreach (string item in valueList)
|
|
{
|
|
string action_type = string.Empty;
|
|
if (item.Length > 0)
|
|
{
|
|
action_type = item.Substring(0, 1);
|
|
}
|
|
// 解析sql
|
|
if (action_type == "@")
|
|
{
|
|
// 右键菜单假如是调用单据,则参数8和参数9为打开单据新增sql语句
|
|
if (dllName.ToLower() == "lskj.pubbill.dll" && (item == dr_p["dllpar8"] + "" || item == dr_p["dllpar9"] + ""))
|
|
{
|
|
isContinue = false;
|
|
string sql = item.Replace("@", "");
|
|
sql = PubClass.ReqSqlParam(sql, OperatorId, OperatorName);
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string fieldValues = string.Empty;
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
|
|
foreach (DataRow rowItem in d_Rows)
|
|
{
|
|
//fieldValues += "'" + rowItem[filed] + "',";
|
|
fieldValues += "" + rowItem[filed] + ",";
|
|
}
|
|
|
|
sql = sql.Replace(s, (item == dr_p["dllpar8"] + "") ? rowData[filed] + "" : fieldValues.TrimEnd(','));
|
|
}
|
|
paremList.Add(sql);
|
|
}
|
|
else
|
|
{
|
|
string sql = item.Replace("@", "");
|
|
sql = PubClass.ReqSqlParam(sql, OperatorId, OperatorName);
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
}
|
|
else if (action_type == "{")
|
|
{
|
|
string p = item.Replace("{", "").Replace("}", "");
|
|
if (item == "{COLUMN_NAME}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.FieldName);
|
|
}
|
|
}
|
|
else if (item == "{COLUMN_TITLE}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.GetTextCaption());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(rowData[p] + "");
|
|
}
|
|
}
|
|
else if (item.Contains("{") && item.Contains("}"))
|
|
{
|
|
string str = item;
|
|
str = PubClass.ReqSqlParam(str, OperatorId, OperatorName);
|
|
List<String> listStr = PubClass.GetParamValue(str);
|
|
foreach (String s in listStr)
|
|
{
|
|
string fileName = s.Replace("{", "").Replace("}", "");
|
|
string v = rowData[fileName] + "";
|
|
|
|
|
|
|
|
str = str.Replace(s, v);
|
|
}
|
|
paremList.Add(str);
|
|
}
|
|
else if (item.Contains("[FormTitle_"))
|
|
{
|
|
String str = item.Replace("[", "{").Replace("]", "}");
|
|
List<String> listStr = PubClass.GetParamValue(str);
|
|
foreach (String s in listStr)
|
|
{
|
|
string fileName = s.Replace("FormTitle_", "").Replace("{", "").Replace("}", "");
|
|
string v = rowData[fileName] + "";
|
|
str = str.Replace(s, v);
|
|
}
|
|
paremList.Add(str);
|
|
}
|
|
else if (action_type == "#")
|
|
{
|
|
string sql = item.Replace("#", "");
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
paremList.Add(sql);
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(item);
|
|
}
|
|
}
|
|
if (dllName.ToLower() == "iexplore.exe")
|
|
{
|
|
//MessageBox.Show(paremList[0] + Uri.EscapeUriString(paremList[1]));
|
|
string url = paremList[0] + Uri.EscapeUriString(paremList[1]);
|
|
url = url.Replace("#", "%23");
|
|
System.Diagnostics.Process.Start("iexplore.exe", url);
|
|
break;
|
|
}
|
|
if (dllName.ToLower() == "lstest.exe")
|
|
{
|
|
// 为了兼容之前版本,参数10配置为调用附件类型,为空则为打开附件,
|
|
// 1.上传附件(参数1分类SpeciesNo,参数2分类SpeciesName,参数3.目录ID),
|
|
// 2.下载附件(参数1附件目录ID,参数2附件ID列表格式:(123,234,124,563,22)为5个附件括号不传递.)
|
|
// 3.删除附件(参数1附件ID列表格式:(123,234,124,563,22)为5个附件括号不传递.)
|
|
|
|
string param1 = paremList[0];
|
|
string param2 = paremList[1];
|
|
string param3 = paremList[2];
|
|
string fileType = paremList[9];
|
|
switch (fileType)
|
|
{
|
|
case "1":
|
|
{
|
|
if (string.IsNullOrEmpty(param1))
|
|
{
|
|
XtraMessageBox.Show("参数1不正确.未传递分类编号");
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(param2))
|
|
{
|
|
XtraMessageBox.Show("参数2不正确.未传递分类名称");
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(param3))
|
|
{
|
|
XtraMessageBox.Show("参数3不正确.未传递目录ID");
|
|
return;
|
|
}
|
|
fmUpdateDownloadType type = (fmUpdateDownloadType)0;
|
|
TParamsData pd = new TParamsData(type, this.gc.Handle);
|
|
pd.setLocation(100, 100);
|
|
pd.setSize(800, 500);
|
|
pd.setParent(Convert.ToInt32(param3));
|
|
//文件编码
|
|
pd.SetfileNumber("001");
|
|
//类别编码
|
|
pd.SetspecieNo(param2);
|
|
pd.CallUpdateUIEx();
|
|
break;
|
|
}
|
|
case "2":
|
|
{
|
|
if (string.IsNullOrEmpty(param1))
|
|
{
|
|
XtraMessageBox.Show("参数1不正确.未传递目录ID");
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(param2))
|
|
{
|
|
XtraMessageBox.Show("参数2不正确.未传递附件ID");
|
|
return;
|
|
}
|
|
fmUpdateDownloadType type = (fmUpdateDownloadType)2;
|
|
TParamsData pd = new TParamsData(type, this.gc.Handle);
|
|
pd.setLocation(100, 100);
|
|
pd.setSize(800, 500);
|
|
pd.setParent(Convert.ToInt32(param1));
|
|
string[] strFileIds = param2.Split(',');
|
|
foreach (string sId in strFileIds)
|
|
{
|
|
pd.addFileId(int.Parse(sId));
|
|
}
|
|
pd.CallUpdateUI();
|
|
break;
|
|
}
|
|
case "3":
|
|
{
|
|
if (string.IsNullOrEmpty(param1))
|
|
{
|
|
XtraMessageBox.Show("参数1不正确.未传递目录ID");
|
|
return;
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(param2))
|
|
{
|
|
XtraMessageBox.Show("参数2不正确.未传递附件ID");
|
|
return;
|
|
}
|
|
DialogResult drt = MessageBox.Show("附件删除后不可恢复,是否真要删除选中的附件?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
|
if (drt != DialogResult.Yes)
|
|
return;
|
|
|
|
string ids = param2.Trim(',');
|
|
fmUpdateDownloadType type = (fmUpdateDownloadType)2;
|
|
TParamsData pd = new TParamsData(type, this.gc.Handle);
|
|
pd.setLocation(100, 100);
|
|
pd.setSize(800, 500);
|
|
pd.setParent(Convert.ToInt32(param1));
|
|
string[] strFileIds = ids.Split(',');
|
|
foreach (string sId in strFileIds)
|
|
{
|
|
if (this.AttachOperation(3, ERPInfo.Instance.EmployeeId, ERPInfo.Instance.EmployeeName, "", Convert.ToInt32(sId), "", 0))
|
|
{
|
|
pd.addFileId(int.Parse(sId));
|
|
}
|
|
}
|
|
pd.CallDeleteFile();
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
StringBuilder dfile = new StringBuilder();
|
|
StringBuilder rfile = new StringBuilder();
|
|
int hwnd = 0;
|
|
|
|
dfile.Append(paremList[0] + paremList[1]);
|
|
rfile = PubUtil.DownloadAttach(dfile, hwnd);
|
|
rfile.Clear();
|
|
string fileName = System.IO.Path.GetFileName(dfile.ToString());
|
|
string file = Application.StartupPath + @"\tempfiles\" + fileName;
|
|
rfile.Append(file);
|
|
|
|
string newFile = file;
|
|
if (fileName.EndsWith(".pdf"))
|
|
newFile = VerifyDownLoadFinish(file, fileName);
|
|
string newFile2 = Application.StartupPath + @"\tempfiles\" + paremList[1];
|
|
//if (System.IO.File.Exists(rfile.ToString()))
|
|
//{
|
|
// if(fileName.Contains(".pdf")){
|
|
|
|
|
|
//}
|
|
if (File.Exists(newFile))
|
|
System.Diagnostics.Process.Start(newFile, "");
|
|
if (File.Exists(newFile2))
|
|
System.Diagnostics.Process.Start(newFile2, "");
|
|
|
|
//}
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
else if (dllName == "Lskj.PhotoView.dll")
|
|
{
|
|
string[] str = {
|
|
FormText,
|
|
OperatorId,
|
|
OperatorName,
|
|
"0",
|
|
DLLCoid,
|
|
paremList[0],
|
|
paremList[1],
|
|
paremList[2],
|
|
paremList[3],
|
|
paremList[4],
|
|
paremList[5],
|
|
paremList[6],
|
|
paremList[7],
|
|
paremList[8],
|
|
paremList[9]
|
|
};
|
|
IForm form = PubUtil.LoadDllForm2("Lskj.PhotoView.dll", str);
|
|
if (maxWindow == "1")
|
|
form.SubForm.WindowState = FormWindowState.Maximized;
|
|
form.SubForm.ShowDialog();
|
|
}
|
|
else
|
|
{
|
|
string[] str = {
|
|
FormText,
|
|
OperatorId,
|
|
OperatorName,
|
|
Privilege,
|
|
DLLCoid,
|
|
paremList[0],
|
|
paremList[1],
|
|
paremList[2],
|
|
paremList[3],
|
|
paremList[4],
|
|
paremList[5],
|
|
paremList[6],
|
|
paremList[7],
|
|
paremList[8],
|
|
paremList[9]
|
|
};
|
|
|
|
IForm form = PubUtil.LoadDllForm(dllName, str);
|
|
|
|
form.SubForm.WindowState = maxWindow == "1" ? FormWindowState.Maximized : FormWindowState.Normal;
|
|
form.SubForm.StartPosition = FormStartPosition.CenterParent;
|
|
form.SubForm.ShowDialog();
|
|
|
|
|
|
}
|
|
#endregion
|
|
}//执行存储过程
|
|
else if (actionType == 1)
|
|
{
|
|
#region 执行存储过程
|
|
try
|
|
{
|
|
List<string> paremList = new List<string>();
|
|
ArrayList sqlParamList = new ArrayList();
|
|
foreach (string item in valueList)
|
|
{
|
|
//解析sql
|
|
if (item.IndexOf('@') != -1)
|
|
{
|
|
string sql = item.Replace("@", "");
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
else if (item.IndexOf('{') != -1)
|
|
{
|
|
string p = item;
|
|
List<string> sqlpar = PubClass.GetParamValue(item);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filedName = s.Replace("{", "").Replace("}", "");
|
|
if (filedName.Equals("loginname", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
p = p.Replace(s, OperatorName);
|
|
}
|
|
else if (filedName.Equals("loginid", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
p = p.Replace(s, OperatorId);
|
|
}
|
|
else if (s == "{COLUMN_NAME}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.FieldName);
|
|
}
|
|
}
|
|
else if (s == "{COLUMN_TITLE}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.GetTextCaption());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
p = p.Replace(s, rowData[filedName] + "");
|
|
}
|
|
}
|
|
paremList.Add(p);
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(item);
|
|
}
|
|
}
|
|
List<string> paramName = PubClass.GetParamValue(action);
|
|
string[] paramStr = paramName[0].Replace("{", "").Replace("}", "").Split(',');
|
|
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, 2000);
|
|
//for (int i = 0; i < paremList.Count; i++)
|
|
//{
|
|
// string item = paremList[i];
|
|
|
|
// if (!string.IsNullOrEmpty(item))
|
|
// {
|
|
// if (paramStr[i].Equals("@msg", StringComparison.OrdinalIgnoreCase))
|
|
// {
|
|
// pMsg.Direction = ParameterDirection.Output;
|
|
// pMsg.Value = "";
|
|
// sqlParamList.Add(pMsg);
|
|
// }
|
|
// else
|
|
// {
|
|
// string paramStr1 = paramStr[i];
|
|
// SqlParameter param = new SqlParameter(string.Format("{0}", paramStr1),
|
|
// DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
// param.Value = item;
|
|
// sqlParamList.Add(param);
|
|
// }
|
|
// }
|
|
//}
|
|
for (int i = 0; i < paramStr.Length; i++)
|
|
{
|
|
string item = paremList[i];
|
|
|
|
|
|
if (paramStr[i].Equals("@msg", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
pMsg.Direction = ParameterDirection.InputOutput;
|
|
pMsg.Value = "";
|
|
sqlParamList.Add(pMsg);
|
|
}
|
|
else
|
|
{
|
|
string paramStr1 = paramStr[i];
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", paramStr1),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.Value = item;
|
|
sqlParamList.Add(param);
|
|
}
|
|
|
|
}
|
|
|
|
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
|
returnValue.Direction = ParameterDirection.ReturnValue;
|
|
sqlParamList.Add(returnValue);
|
|
|
|
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, action.Replace(paramName[0], "").Trim(), (SqlParameter[])sqlParamList.ToArray(typeof(SqlParameter)));
|
|
if (Convert.ToInt32(returnValue.Value) == -1)
|
|
{
|
|
XtraMessageBox.Show("操作失败\n" + pMsg.Value, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (Convert.ToInt32(returnValue.Value) == 9999)
|
|
{
|
|
XtraMessageBox.Show(pMsg.Value + "", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else if (Convert.ToInt32(returnValue.Value) == 99)
|
|
{
|
|
//对话框输入
|
|
ComfirmDialog.ComfirmDialog cfd = new ComfirmDialog.ComfirmDialog(pMsg.Value + "");
|
|
DialogResult result = cfd.ShowDialog();
|
|
if (result == DialogResult.Cancel)
|
|
return;
|
|
string hintMsg = cfd.ComfirmMsg;
|
|
sqlParamList.Clear();
|
|
for (int i = 0; i < paramStr.Length; i++)
|
|
{
|
|
string item = paremList[i];
|
|
|
|
|
|
if (paramStr[i].Equals("@msg", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
pMsg.Direction = ParameterDirection.InputOutput;
|
|
pMsg.Value = hintMsg;
|
|
sqlParamList.Add(pMsg);
|
|
}
|
|
else
|
|
{
|
|
string paramStr1 = paramStr[i];
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", paramStr1),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.Value = item;
|
|
sqlParamList.Add(param);
|
|
}
|
|
|
|
}
|
|
|
|
SqlParameter returnValue1 = new SqlParameter("@return", SqlDbType.Int, 4);
|
|
returnValue1.Direction = ParameterDirection.ReturnValue;
|
|
sqlParamList.Add(returnValue1);
|
|
|
|
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, action.Replace(paramName[0], "").Trim(), (SqlParameter[])sqlParamList.ToArray(typeof(SqlParameter)));
|
|
|
|
if (Convert.ToInt32(returnValue1.Value) == -1)
|
|
{
|
|
XtraMessageBox.Show("操作失败\n" + pMsg.Value, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (!multiRow)
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!multiRow)
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
try
|
|
{
|
|
if (action.Contains("p_baseApply"))
|
|
{
|
|
// 调用消息推送
|
|
PushHelper push = new PushHelper(paramStr[1], "0", paramStr[0], "", "", 0);
|
|
new Thread(new ThreadStart(push.push_base_oper_message));
|
|
}
|
|
else if (action.Contains("p_billApply"))
|
|
{
|
|
// 调用消息推送
|
|
PushHelper push = new PushHelper(paramStr[1], "0", paramStr[0], "", "", 0);
|
|
new Thread(new ThreadStart(push.push_bill_oper_message));
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
}
|
|
|
|
DJH = (pMsg.Value + "").Trim();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
XtraMessageBox.Show("操作失败\n" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
Sql = gc.Tag + "";
|
|
if (gc.Parent != null && gc.Parent.Parent != null)
|
|
{
|
|
btnCtr = gc.Parent.Parent;
|
|
}
|
|
if (btnCtr != null)
|
|
{
|
|
Control[] ctr = btnCtr.Controls.Find("btnCondSearch", true);
|
|
if (ctr != null && ctr.Length > 0)
|
|
{
|
|
if (ctr[0] is SimpleButton)
|
|
{
|
|
SimpleButton btn = ctr[0] as SimpleButton;
|
|
btn.PerformClick();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(Sql))
|
|
{
|
|
gc.DataSource = SqlHelper.ExecuteDataSet(Sql).Tables[0];
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}//调用delphi
|
|
else if (actionType == 3)
|
|
{
|
|
List<string> paremList = new List<string>();
|
|
foreach (string item in valueList)
|
|
{
|
|
string action_type = string.Empty;
|
|
if (item.Length > 0)
|
|
{
|
|
action_type = item.Substring(0, 1);
|
|
}
|
|
if (action_type == "@")
|
|
{
|
|
//解析sql
|
|
string sql = item.Replace("@", "");
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
else if (action_type == "{")
|
|
{
|
|
string p = item.Replace("{", "").Replace("}", "");
|
|
if (item == "{COLUMN_NAME}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.FieldName);
|
|
}
|
|
}
|
|
else if (item == "{COLUMN_TITLE}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.GetTextCaption());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(rowData[p] + "");
|
|
}
|
|
}
|
|
else if (action_type == "#")
|
|
{
|
|
string sql = item.Replace("#", "");
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
paremList.Add(sql);
|
|
}
|
|
else
|
|
{
|
|
string sql = item;
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
paremList.Add(sql);
|
|
}
|
|
}
|
|
PubUtil.LoadDelphiDll(dllName, paremList[0], paremList[1], paremList[2], paremList[3], Convert.ToInt32(paremList[4]), paremList[5]);
|
|
}
|
|
else if (actionType == 6)
|
|
{
|
|
List<string> paremList = new List<string>();
|
|
foreach (string item in valueList)
|
|
{
|
|
string action_type = string.Empty;
|
|
if (item.Length > 0)
|
|
{
|
|
action_type = item.Substring(0, 1);
|
|
}
|
|
if (action_type == "@")
|
|
{
|
|
//解析sql
|
|
string sql = item.Replace("@", "");
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
else if (action_type == "{")
|
|
{
|
|
string p = item.Replace("{", "").Replace("}", "");
|
|
if (item == "{COLUMN_NAME}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.FieldName);
|
|
}
|
|
}
|
|
else if (item == "{COLUMN_TITLE}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
paremList.Add((gc.MainView as GridView).FocusedColumn.GetTextCaption());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(rowData[p] + "");
|
|
}
|
|
}
|
|
else if (action_type == "#")
|
|
{
|
|
string sql = item.Replace("#", "");
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
paremList.Add(sql);
|
|
}
|
|
else
|
|
{
|
|
string sql = item;
|
|
List<string> sqlpar = PubClass.GetParamValue(sql);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filed = s.Replace("{", "").Replace("}", "");
|
|
sql = sql.Replace(s, rowData[filed] + "");
|
|
}
|
|
paremList.Add(sql);
|
|
}
|
|
}
|
|
string url = paremList[0];
|
|
if (!string.IsNullOrEmpty(url))
|
|
{
|
|
string urlStart = SqlHelper.ExecuteDataTable("select OAUrl from P_systemTab").Rows[0]["OAUrl"] + "";
|
|
//获取下载url
|
|
if (!url.StartsWith("http"))
|
|
{
|
|
string OAUrl = !string.IsNullOrEmpty(urlStart) && urlStart.EndsWith("/") ? urlStart : urlStart + "/";
|
|
url = OAUrl + url;
|
|
}
|
|
|
|
//获取下载的文件名
|
|
url = HttpUtility.UrlDecode(url);
|
|
url = url.Replace("%2f", "/");
|
|
url = url.Replace("#", "%23");
|
|
string[] newurl = url.Split('?');
|
|
string szFilename = newurl[0].Substring(newurl[0].LastIndexOf('/') + 1);//简单处理文件名,实际中还需要单独处理,这里有BUG
|
|
//string SzFileName = HttpUtility.UrlDecode(szFilename);
|
|
string[] szName = szFilename.Split('/');
|
|
string fileTitle = szName[szName.Length - 1];
|
|
//设置文件存放路径
|
|
string DownloadFileDirectory = string.Format("{0}\\{1}", Application.StartupPath, "RightDownloadFile");
|
|
if (!Directory.Exists(DownloadFileDirectory))
|
|
{
|
|
Directory.CreateDirectory(DownloadFileDirectory);
|
|
}
|
|
DownloadFileDirectory = string.Format("{0}\\{1}", DownloadFileDirectory, fileTitle);
|
|
|
|
FrmDownload frm = new FrmDownload(url, fileTitle, DownloadFileDirectory, true);
|
|
frm.isprompt = false;
|
|
if (frm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//执行SQL
|
|
#region 执行SQL语句
|
|
try
|
|
{
|
|
List<string> pList = PubClass.GetParamValue(action);
|
|
string newSql = action;
|
|
for (int i = 0; i < pList.Count; i++)
|
|
{
|
|
string filedName = pList[i];
|
|
if (filedName == "{COLUMN_NAME}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
newSql = newSql.Replace(filedName, (gc.MainView as GridView).FocusedColumn.FieldName);
|
|
}
|
|
}
|
|
if (filedName == "{COLUMN_TITLE}")
|
|
{
|
|
if (gc != null && gc.MainView is GridView)
|
|
{
|
|
newSql = newSql.Replace(filedName, (gc.MainView as GridView).FocusedColumn.GetTextCaption());
|
|
}
|
|
}
|
|
|
|
newSql = newSql.Replace("'" + pList[i] + "'", "@" + pList[i].Replace("{#", "").Replace("{", "").Replace("}", ""));
|
|
newSql = newSql.Replace(pList[i], "@" + pList[i].Replace("{", "").Replace("}", ""));
|
|
}
|
|
//string newSql = action.Replace("{", "@").Replace("}", "").Replace("'", "");
|
|
if (tl != null)
|
|
{
|
|
ArrayList parameters = new ArrayList();
|
|
|
|
for (int i = 0; i < pList.Count; i++)
|
|
{
|
|
string filedName = pList[i].Replace("{", "").Replace("}", "");
|
|
if (filedName.Equals("loginname", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = OperatorName;
|
|
parameters.Add(param);
|
|
}
|
|
else if (filedName.Equals("loginid", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = OperatorId;
|
|
parameters.Add(param);
|
|
}
|
|
else if (filedName.IndexOf("#") >= 0)
|
|
{
|
|
string fName = filedName.Replace("#", "");
|
|
string value = "";
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", fName.Replace("#", "")),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
Control[] c = MainPanel.Controls.Find("txt_" + fName, true);
|
|
if (c.Length > 0)
|
|
{
|
|
value = PubControl.GetControlText(c[0]);
|
|
}
|
|
param.Value = value;
|
|
parameters.Add(param);
|
|
}
|
|
else
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = rowData[filedName];
|
|
parameters.Add(param);
|
|
}
|
|
}
|
|
int result = SqlHelper.ExecuteNonQuery(CommandType.Text, newSql, (SqlParameter[])parameters.ToArray(typeof(SqlParameter)));
|
|
//XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
if (result > 0)
|
|
{
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("操作失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
if (gc != null)
|
|
{
|
|
//int[] rows = gv.GetSelectedRows();
|
|
//for (int j = 0; j < rows.Length; j++)
|
|
//{
|
|
//int index = rows[j];
|
|
ArrayList parameters = new ArrayList();
|
|
//DataRow row = gv.GetDataRow(index);
|
|
for (int i = 0; i < pList.Count; i++)
|
|
{
|
|
if (pList[i] == "{COLUMN_NAME}" || pList[i] == "{COLUMN_TITLE}") continue;
|
|
string filedName = pList[i].Replace("{", "").Replace("}", "");
|
|
if (filedName.Equals("loginname", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = OperatorName;
|
|
parameters.Add(param);
|
|
}
|
|
else if (filedName.Equals("loginid", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = OperatorId;
|
|
parameters.Add(param);
|
|
}
|
|
else if (filedName.IndexOf("#") >= 0)
|
|
{
|
|
string fName = filedName.Replace("#", "");
|
|
string value = "";
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", fName.Replace("#", "")),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
Control[] c = MainPanel.Controls.Find("txt_" + fName, true);
|
|
if (c.Length > 0)
|
|
{
|
|
value = PubControl.GetControlText(c[0]);
|
|
}
|
|
param.Value = value;
|
|
parameters.Add(param);
|
|
}
|
|
else
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = rowData[filedName];
|
|
parameters.Add(param);
|
|
}
|
|
}
|
|
int result = SqlHelper.ExecuteNonQuery(CommandType.Text, newSql, (SqlParameter[])parameters.ToArray(typeof(SqlParameter)));
|
|
//XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
if (result > 0)
|
|
{
|
|
if (msgHinted)
|
|
{
|
|
msgHinted = false;
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("操作失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
XtraMessageBox.Show("操作失败!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
if (gc != null)
|
|
{
|
|
Form f = GetForm(gc);
|
|
if (f != null)
|
|
{
|
|
Control[] ctr = f.Controls.Find("btnCondSearch", true);
|
|
if (ctr.Length > 0)
|
|
{
|
|
foreach (var item in ctr)
|
|
{
|
|
if (item is SimpleButton)
|
|
{
|
|
SimpleButton b = item as SimpleButton;
|
|
// 去掉全部刷新 改为按需求刷新数据
|
|
//b.PerformClick();
|
|
}
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
Sql = gc.Tag + "";
|
|
if (!string.IsNullOrEmpty(Sql))
|
|
{
|
|
if (!string.IsNullOrEmpty(Sql))
|
|
{
|
|
gc.DataSource = SqlHelper.ExecuteDataSet(Sql).Tables[0];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
if (gv != null)
|
|
{
|
|
// 多选刷新,执行到最后一条的时候才刷新
|
|
if ((multiRow && x == d_Rows.Length - 1) || !multiRow)
|
|
{
|
|
// 老版本刷新数据
|
|
if (internal_func != null)
|
|
internal_func(gv, DJH);
|
|
// 新增加刷新数据,避免改动以前功能增加
|
|
if (ifRefresh == 1 && OnGridMenuClickRefreshData != null)
|
|
OnGridMenuClickRefreshData(gv, null);
|
|
}
|
|
|
|
gv.FocusedRowHandle = oldRowHandle;
|
|
gv.SelectRow(oldRowHandle);
|
|
}
|
|
if (lv != null)
|
|
{
|
|
// 多选刷新,执行到最后一条的时候才刷新
|
|
if ((multiRow && x == d_Rows.Length - 1) || !multiRow)
|
|
{
|
|
// 老版本刷新数据
|
|
if (internal_func != null)
|
|
internal_func(lv, DJH);
|
|
// 新增加刷新数据,避免改动以前功能增加
|
|
if (ifRefresh == 1 && OnGridMenuClickRefreshData != null)
|
|
OnGridMenuClickRefreshData(lv, null);
|
|
}
|
|
}
|
|
if (grid != null) grid.refreshSearchLookUp();
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <para>说明:验证附件是否下载完成</para>
|
|
/// <para>创建人:姜棚</para>
|
|
/// <para>创建日期:2018-06-06 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="file">The file.</param>
|
|
/// <param name="fileName">Name of the file.</param>
|
|
/// <returns>System.String.</returns>
|
|
private string VerifyDownLoadFinish(string file, string fileName)
|
|
{
|
|
int i = 0;
|
|
while (i < 20)
|
|
{
|
|
try
|
|
{
|
|
if (File.Exists(file) && !PubClass.SearchProc("LSTest"))
|
|
{
|
|
string newFile = file;
|
|
if (fileName.Contains(".pdf"))
|
|
{
|
|
newFile = Lskj.Common.PubClass.CreateNewPdf(fileName, file);
|
|
}
|
|
return newFile;
|
|
}
|
|
Thread.Sleep(500);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw;
|
|
}
|
|
i++;
|
|
}
|
|
return "";
|
|
}
|
|
|
|
|
|
protected void tsm_ClickChart(object sender, EventArgs e)
|
|
{
|
|
if (chart == null)
|
|
return;
|
|
if (chart.seriesPoint == null)
|
|
return;
|
|
string keyString = chart.seriesPoint.Argument + "";
|
|
string keyValue = chart.seriesPoint.Values[0] + "";
|
|
|
|
ToolStripMenuItem t = sender as ToolStripMenuItem;
|
|
DataRow dr_p = t.Tag as DataRow;
|
|
|
|
|
|
string action = dr_p["action"].ToString();
|
|
int actionType = Convert.ToInt32(dr_p["actiontype"]);
|
|
int ifRefresh = Convert.ToInt32(dr_p["ifRefresh"]);
|
|
string dllName = dr_p["dllname"].ToString();
|
|
string maxWindow = dr_p["maxWindow"] + "";
|
|
List<string> valueList = new List<string>();
|
|
valueList.Add(dr_p["dllpar1"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar2"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar3"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar4"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar5"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar6"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar7"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar8"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar9"].ToString() + "");
|
|
valueList.Add(dr_p["dllpar10"].ToString() + "");
|
|
|
|
string DJH = string.Empty;
|
|
//打开dll
|
|
if (actionType == 2)
|
|
{
|
|
#region 打开DLL
|
|
List<string> paremList = new List<string>();
|
|
foreach (string item in valueList)
|
|
{
|
|
string action_type = string.Empty;
|
|
if (item.Length > 0)
|
|
{
|
|
action_type = item.Substring(0, 1);
|
|
}
|
|
//解析sql
|
|
if (action_type == "@")
|
|
{
|
|
string sql = item.Replace("@", "");
|
|
sql = PubClass.ReqSqlParam(sql, OperatorId, OperatorName);
|
|
sql = sql.Replace("{key}", keyString);
|
|
sql = sql.Replace("{value}", keyValue);
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
else if (action_type == "{")
|
|
{
|
|
string p = item.Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
paremList.Add(p);
|
|
}
|
|
else if (item.Contains("{") && item.Contains("}"))
|
|
{
|
|
string str = item.Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
paremList.Add(str);
|
|
}
|
|
else if (item.Contains("[FormTitle_"))
|
|
{
|
|
String str = item.Replace("[", "{").Replace("]", "}");
|
|
|
|
paremList.Add(str);
|
|
}
|
|
else if (action_type == "#")
|
|
{
|
|
string sql = item.Replace("#", "");
|
|
sql = sql.Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
paremList.Add(sql);
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(item);
|
|
}
|
|
}
|
|
if (dllName.ToLower() == "iexplore.exe")
|
|
{
|
|
//MessageBox.Show(paremList[0] + Uri.EscapeUriString(paremList[1]));
|
|
string url = paremList[0] + Uri.EscapeUriString(paremList[1]);
|
|
url = url.Replace("#", "%23");
|
|
System.Diagnostics.Process.Start("iexplore.exe", url);
|
|
}
|
|
else if (dllName == "Lskj.PhotoView.dll")
|
|
{
|
|
string[] str = {
|
|
FormText,
|
|
OperatorId,
|
|
OperatorName,
|
|
Privilege,
|
|
DLLCoid,
|
|
paremList[0],
|
|
paremList[1],
|
|
paremList[2],
|
|
paremList[3],
|
|
paremList[4],
|
|
paremList[5],
|
|
paremList[6],
|
|
paremList[7],
|
|
paremList[8],
|
|
paremList[9]
|
|
};
|
|
IForm form = PubUtil.LoadDllForm2("Lskj.PhotoView.dll", str);
|
|
if (maxWindow == "1")
|
|
form.SubForm.WindowState = FormWindowState.Maximized;
|
|
form.SubForm.ShowDialog();
|
|
}
|
|
else
|
|
{
|
|
string[] str = {
|
|
FormText,
|
|
OperatorId,
|
|
OperatorName,
|
|
Privilege,
|
|
DLLCoid,
|
|
paremList[0],
|
|
paremList[1],
|
|
paremList[2],
|
|
paremList[3],
|
|
paremList[4],
|
|
paremList[5],
|
|
paremList[6],
|
|
paremList[7],
|
|
paremList[8],
|
|
paremList[9]
|
|
};
|
|
IForm form = PubUtil.LoadDllForm(dllName, str);
|
|
|
|
form.SubForm.WindowState = maxWindow == "1" ? FormWindowState.Maximized : FormWindowState.Normal;
|
|
form.SubForm.StartPosition = FormStartPosition.CenterParent;
|
|
form.SubForm.ShowDialog();
|
|
}
|
|
#endregion
|
|
}//执行存储过程
|
|
else if (actionType == 1)
|
|
{
|
|
#region 执行存储过程
|
|
try
|
|
{
|
|
List<string> paremList = new List<string>();
|
|
ArrayList sqlParamList = new ArrayList();
|
|
foreach (string item in valueList)
|
|
{
|
|
//解析sql
|
|
if (item.IndexOf('@') != -1)
|
|
{
|
|
string sql = item.Replace("@", "");
|
|
sql = sql.Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
else if (item.IndexOf('{') != -1)
|
|
{
|
|
string p = item.Replace("{key}", keyString).Replace("{value}", keyValue); ;
|
|
List<string> sqlpar = PubClass.GetParamValue(item);
|
|
foreach (string s in sqlpar)
|
|
{
|
|
string filedName = s.Replace("{", "").Replace("}", "");
|
|
if (filedName.Equals("loginname", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
p = p.Replace(s, OperatorName);
|
|
}
|
|
else if (filedName.Equals("loginid", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
p = p.Replace(s, OperatorId);
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
paremList.Add(p);
|
|
}
|
|
else
|
|
{
|
|
paremList.Add(item);
|
|
}
|
|
}
|
|
List<string> paramName = PubClass.GetParamValue(action);
|
|
string[] paramStr = paramName[0].Replace("{", "").Replace("}", "").Split(',');
|
|
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, 2000);
|
|
//for (int i = 0; i < paremList.Count; i++)
|
|
//{
|
|
// string item = paremList[i];
|
|
|
|
// if (!string.IsNullOrEmpty(item))
|
|
// {
|
|
// if (paramStr[i].Equals("@msg", StringComparison.OrdinalIgnoreCase))
|
|
// {
|
|
// pMsg.Direction = ParameterDirection.Output;
|
|
// pMsg.Value = "";
|
|
// sqlParamList.Add(pMsg);
|
|
// }
|
|
// else
|
|
// {
|
|
// string paramStr1 = paramStr[i];
|
|
// SqlParameter param = new SqlParameter(string.Format("{0}", paramStr1),
|
|
// DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
// param.Value = item;
|
|
// sqlParamList.Add(param);
|
|
// }
|
|
// }
|
|
//}
|
|
for (int i = 0; i < paramStr.Length; i++)
|
|
{
|
|
string item = paremList[i];
|
|
|
|
|
|
if (paramStr[i].Equals("@msg", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
pMsg.Direction = ParameterDirection.InputOutput;
|
|
pMsg.Value = "";
|
|
sqlParamList.Add(pMsg);
|
|
}
|
|
else
|
|
{
|
|
string paramStr1 = paramStr[i];
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", paramStr1),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.Value = item;
|
|
sqlParamList.Add(param);
|
|
}
|
|
|
|
}
|
|
|
|
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
|
returnValue.Direction = ParameterDirection.ReturnValue;
|
|
sqlParamList.Add(returnValue);
|
|
|
|
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, action.Replace(paramName[0], "").Trim(), (SqlParameter[])sqlParamList.ToArray(typeof(SqlParameter)));
|
|
if (Convert.ToInt32(returnValue.Value) == -1)
|
|
{
|
|
XtraMessageBox.Show("操作失败\n" + pMsg.Value, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (Convert.ToInt32(returnValue.Value) == 9999)
|
|
{
|
|
XtraMessageBox.Show(pMsg.Value + "", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else if (Convert.ToInt32(returnValue.Value) == 99)
|
|
{
|
|
//对话框输入
|
|
ComfirmDialog.ComfirmDialog cfd = new ComfirmDialog.ComfirmDialog(pMsg.Value + "");
|
|
DialogResult result = cfd.ShowDialog();
|
|
if (result == DialogResult.Cancel)
|
|
return;
|
|
string hintMsg = cfd.ComfirmMsg;
|
|
sqlParamList.Clear();
|
|
for (int i = 0; i < paramStr.Length; i++)
|
|
{
|
|
string item = paremList[i];
|
|
|
|
|
|
if (paramStr[i].Equals("@msg", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
pMsg.Direction = ParameterDirection.InputOutput;
|
|
pMsg.Value = hintMsg;
|
|
sqlParamList.Add(pMsg);
|
|
}
|
|
else
|
|
{
|
|
string paramStr1 = paramStr[i];
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", paramStr1),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.Value = item;
|
|
sqlParamList.Add(param);
|
|
}
|
|
|
|
}
|
|
|
|
SqlParameter returnValue1 = new SqlParameter("@return", SqlDbType.Int, 4);
|
|
returnValue1.Direction = ParameterDirection.ReturnValue;
|
|
sqlParamList.Add(returnValue1);
|
|
|
|
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, action.Replace(paramName[0], "").Trim(), (SqlParameter[])sqlParamList.ToArray(typeof(SqlParameter)));
|
|
|
|
if (Convert.ToInt32(returnValue1.Value) == -1)
|
|
{
|
|
XtraMessageBox.Show("操作失败\n" + pMsg.Value, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
DJH = pMsg.Value.ToString().Trim();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
XtraMessageBox.Show("操作失败\n" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
Sql = gc.Tag + "";
|
|
if (gc.Parent != null && gc.Parent.Parent != null)
|
|
{
|
|
btnCtr = gc.Parent.Parent;
|
|
}
|
|
if (btnCtr != null)
|
|
{
|
|
Control[] ctr = btnCtr.Controls.Find("btnCondSearch", true);
|
|
if (ctr != null && ctr.Length > 0)
|
|
{
|
|
if (ctr[0] is SimpleButton)
|
|
{
|
|
SimpleButton btn = ctr[0] as SimpleButton;
|
|
btn.PerformClick();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(Sql))
|
|
{
|
|
gc.DataSource = SqlHelper.ExecuteDataSet(Sql).Tables[0];
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}//调用delphi
|
|
else if (actionType == 3)
|
|
{
|
|
List<string> paremList = new List<string>();
|
|
foreach (string item in valueList)
|
|
{
|
|
string action_type = string.Empty;
|
|
if (item.Length > 0)
|
|
{
|
|
action_type = item.Substring(0, 1);
|
|
}
|
|
if (action_type == "@")
|
|
{
|
|
//解析sql
|
|
string sql = item.Replace("@", "").Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
string param = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
|
|
paremList.Add(param);
|
|
}
|
|
else if (action_type == "{")
|
|
{
|
|
string p = item.Replace("{key}", keyString).Replace("{value}", keyValue); ;
|
|
paremList.Add(p + "");
|
|
}
|
|
else if (action_type == "#")
|
|
{
|
|
string sql = item.Replace("#", "").Replace("@", "").Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
paremList.Add(sql);
|
|
}
|
|
else
|
|
{
|
|
string sql = item.Replace("{key}", keyString).Replace("{value}", keyValue);
|
|
|
|
paremList.Add(sql);
|
|
}
|
|
}
|
|
PubUtil.LoadDelphiDll(dllName, paremList[0], paremList[1], paremList[2], paremList[3], Convert.ToInt32(paremList[4]), paremList[5]);
|
|
}
|
|
else
|
|
{
|
|
//执行SQL
|
|
#region 执行SQL语句
|
|
try
|
|
{
|
|
List<string> pList = PubClass.GetParamValue(action);
|
|
string newSql = action;
|
|
for (int i = 0; i < pList.Count; i++)
|
|
{
|
|
newSql = newSql.Replace("'" + pList[i] + "'", "@" + pList[i].Replace("{#", "").Replace("{", "").Replace("}", ""));
|
|
newSql = newSql.Replace(pList[i], "@" + pList[i].Replace("{", "").Replace("}", ""));
|
|
}
|
|
|
|
if (chart != null)
|
|
{
|
|
ArrayList parameters = new ArrayList();
|
|
|
|
for (int i = 0; i < pList.Count; i++)
|
|
{
|
|
string filedName = pList[i].Replace("{", "").Replace("}", "");
|
|
if (filedName.Equals("loginname", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = OperatorName;
|
|
parameters.Add(param);
|
|
}
|
|
else if (filedName.Equals("loginid", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = OperatorId;
|
|
parameters.Add(param);
|
|
}
|
|
else if (filedName.IndexOf("#") >= 0)
|
|
{
|
|
string fName = filedName.Replace("#", "");
|
|
string value = "";
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", fName.Replace("#", "")),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
Control[] c = MainPanel.Controls.Find("txt_" + fName, true);
|
|
if (c.Length > 0)
|
|
{
|
|
value = PubControl.GetControlText(c[0]);
|
|
}
|
|
param.Value = value;
|
|
parameters.Add(param);
|
|
}
|
|
else
|
|
{
|
|
SqlParameter param = new SqlParameter(string.Format("{0}", filedName),
|
|
DbTypeConverter.ConvertToSql(FieldType.VarChar));
|
|
param.IsNullable = true;
|
|
param.Value = filedName.ToLower() == "key" ? keyString : keyValue;
|
|
parameters.Add(param);
|
|
}
|
|
}
|
|
int result = SqlHelper.ExecuteNonQuery(CommandType.Text, newSql, (SqlParameter[])parameters.ToArray(typeof(SqlParameter)));
|
|
XtraMessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
XtraMessageBox.Show("操作失败!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private Form GetForm(Control ctr)
|
|
{
|
|
if (ctr is Form)
|
|
{
|
|
return ctr as Form;
|
|
}
|
|
else
|
|
{
|
|
return GetForm(ctr.Parent);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取选中行数据(包括gridView和TreeView)
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private DataRow[] GetSelectRow()
|
|
{
|
|
DataRow[] rows = null;
|
|
if (gc != null)
|
|
{
|
|
if (gc.MainView is GridView)
|
|
{
|
|
GridView gridView = (gc.MainView as GridView);
|
|
if ((gridView.GetSelectedRows() == null) || (gridView.GetSelectedRows().Length < 1))
|
|
return null;
|
|
int[] iRows = gridView.GetSelectedRows();
|
|
rows = new DataRow[iRows.Length];
|
|
for (int i = 0; i < iRows.Length; i++)
|
|
{
|
|
rows[i] = gridView.GetDataRow(iRows[i]);
|
|
}
|
|
return rows;
|
|
}
|
|
else if (gc.MainView is LayoutView)
|
|
{
|
|
LayoutView layoutView = (gc.MainView as LayoutView);
|
|
if ((layoutView.GetSelectedRows() == null) || (layoutView.GetSelectedRows().Length < 1))
|
|
return null;
|
|
int[] iRows = layoutView.GetSelectedRows();
|
|
rows = new DataRow[iRows.Length];
|
|
for (int i = 0; i < iRows.Length; i++)
|
|
{
|
|
rows[i] = layoutView.GetDataRow(iRows[i]);
|
|
}
|
|
return rows;
|
|
}
|
|
|
|
}
|
|
else if (tl != null)
|
|
{
|
|
DataRowView rowView = tl.GetDataRecordByNode(tl.FocusedNode) as DataRowView;
|
|
return rowView != null ? new DataRow[] { rowView.Row } : null;
|
|
}
|
|
return rows;
|
|
}
|
|
/// <summary>
|
|
/// 获取多选中行数据(包括gridView和TreeView)
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private DataRow[] GetMultipleSelectRow()
|
|
{
|
|
DataRow[] rows = null;
|
|
if (gc != null)
|
|
{
|
|
if (gc.MainView is GridView)
|
|
{
|
|
GridView gridView = (gc.MainView as GridView);
|
|
if ((gridView.GetSelectedRows() == null) || (gridView.GetSelectedRows().Length < 1))
|
|
return null;
|
|
DataTable selectTable = (DataTable)gc.DataSource;
|
|
if (selectTable.Columns.Contains("selectflag"))
|
|
{
|
|
DataRow[] iRows = selectTable.Select("selectflag=" + true);
|
|
rows = new DataRow[iRows.Length];
|
|
for (int i = 0; i < iRows.Length; i++)
|
|
{
|
|
rows[i] = iRows[i];
|
|
}
|
|
return rows;
|
|
}
|
|
else
|
|
{
|
|
int[] selectrows = gridView.GetSelectedRows();
|
|
DataRow[] dataRows = new DataRow[selectrows.Length];
|
|
for (int i = 0; i < selectrows.Length; i++)
|
|
{
|
|
dataRows[i] = gridView.GetDataRow(selectrows[i]);
|
|
}
|
|
return dataRows;
|
|
|
|
}
|
|
}
|
|
else if (gc.MainView is LayoutView)
|
|
{
|
|
LayoutView layoutView = (gc.MainView as LayoutView);
|
|
if ((layoutView.GetSelectedRows() == null) || (layoutView.GetSelectedRows().Length < 1))
|
|
return null;
|
|
int[] iRows = layoutView.GetSelectedRows();
|
|
rows = new DataRow[iRows.Length];
|
|
for (int i = 0; i < iRows.Length; i++)
|
|
{
|
|
rows[i] = layoutView.GetDataRow(iRows[i]);
|
|
}
|
|
return rows;
|
|
}
|
|
|
|
}
|
|
else if (tl != null)
|
|
{
|
|
DataRowView rowView = tl.GetDataRecordByNode(tl.FocusedNode) as DataRowView;
|
|
return rowView != null ? new DataRow[] { rowView.Row } : null;
|
|
}
|
|
return rows;
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:附件操作之前调用</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-09-28 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="operType">1=上传,2=下载,3=删除,4=锁定,5=解除锁定 必填</param>
|
|
/// <param name="userId">The user identifier.</param>
|
|
/// <param name="userName">Name of the user.</param>
|
|
/// <param name="fileSpecisNo">The file specis no.</param>
|
|
/// <param name="filename">The filename.</param>
|
|
/// <param name="filesize">The filesize.</param>
|
|
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
|
private bool AttachOperation(int operType, int userId, string userName, string fileSpecisNo, int fileid, string filename, int filesize)
|
|
{
|
|
try
|
|
{
|
|
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, 2000);
|
|
pMsg.Direction = ParameterDirection.Output;
|
|
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
|
returnValue.Direction = ParameterDirection.ReturnValue;
|
|
SqlParameter[] param =
|
|
{
|
|
new SqlParameter("@opertype",SqlDbType.Int),
|
|
new SqlParameter("@operatorid",SqlDbType.Int),
|
|
new SqlParameter("@operatorname",SqlDbType.VarChar,50),
|
|
new SqlParameter("@fileSpecisNo",SqlDbType.VarChar,50),
|
|
new SqlParameter("@fileid",SqlDbType.Int),
|
|
new SqlParameter("@filename",SqlDbType.VarChar,200),
|
|
new SqlParameter("@filesize",SqlDbType.Int),
|
|
pMsg,
|
|
returnValue
|
|
};
|
|
|
|
|
|
param[0].Value = operType;
|
|
param[1].Value = userId;
|
|
param[2].Value = userName;
|
|
param[3].Value = fileSpecisNo;
|
|
param[4].Value = fileid;
|
|
param[5].Value = filename;
|
|
param[6].Value = filesize;
|
|
DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_SystemAttachOperation", "attach", param);
|
|
string msg = pMsg.Value.ToString();
|
|
int rVaule = Convert.ToInt32(returnValue.Value + "");
|
|
|
|
if (rVaule != 1)
|
|
{
|
|
MessageBox.Show(msg);
|
|
}
|
|
return true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
}
|