using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Core.Mes.Client.Common;
using Infragistics.Win.UltraWinGrid;
using System.Collections;
using CoreFS.CA06;
using System.Diagnostics;
using System.IO;
using Infragistics.Win;
namespace Core.LgMes.Client.lgIntegrationQuery
{
public partial class frmAlloyHitStandard : Core.Mes.Client.Common.frmStyleBase
{
string strMess = "";
string username = "";
DataSet ds = new DataSet();
DataSet dsSteel = new DataSet();
public frmAlloyHitStandard()
{
InitializeComponent();
}
private void frmAlloyHitStandard_Load(object sender, EventArgs e)
{
//InitSteel();
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
//InitSteel();
GetDataSource();
this.urGridLTemp.DisplayLayout.Bands[0].Columns["islowlimit"].ValueList = proc_ValueListRemark();
break;
case "Add":
Add(urGridLTemp);
strMess = "合金窄成分控制标准保存成功!";
break;
case "Update":
UpdateGrid();
break;
case "Delete":
//username = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID().Trim();
//if ("jsk02".Equals(username))
//{
DeleteGrid();
//}
//else
//{
// strMess = "您的权限不足!\r\n请联系技术科!";
// MessageBox.Show(strMess);
//}
break;
case "Save":
//username = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID().Trim();
//if ("jsk02".Equals(username))
//{
urGridLTemp.UpdateData();
SaveData();
//}
//else
//{
// strMess = "您的权限不足!\r\n请联系技术科!";
// MessageBox.Show(strMess);
//}
break;
case "Export":
if (urGridLTemp.Rows.Count > 0) ExportDataWithSaveDialog(ref this.urGridLTemp,"合金窄成分控制标准");
break;
case "Rollback"://cancel
JJBStaticFunction.dataCancel(urGridLTemp, dataTable1);
break;
case "Exit":
this.Close();
break;
default:
break;
}
}
private void GetDataSource()
{
string strErr = "";
string strSteel = "";
string _strWhere2 = "";
if (chkSteel.Checked && ultcboSteel.SelectedIndex > -1)
{
strSteel = Convert.ToString(ultcboSteel.Text);
_strWhere2 = String.Format(" where t.element = '{0}'", strSteel);
}
else
{
_strWhere2 = "";
}
ArrayList arry = new ArrayList();
ArrayList sqlList = new ArrayList();
arry.Add("frmSAHit.select");
sqlList.Add(_strWhere2);
//调用服务端方法
CoreClientParam CCP_LgEts = new CoreClientParam();
DataTable dt = new DataTable();
CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
CCP_LgEts.MethodName = "doQuery";
CCP_LgEts.ServerParams = new object[] { arry, sqlList };
CCP_LgEts.SourceDataTable = dt;
this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal);
ds.Tables.Add(dt);
dsSTemp.Clear();
this.dataTable1.Rows.Clear();
if (strErr == "" && ds != null)
{
DataRow dr;
for (int iRow = 0; iRow < dt.Rows.Count; iRow++)
{
dr = this.dataTable1.NewRow();
for (int jCol = 0; jCol < dt.Columns.Count; jCol++)
{
try
{
if (this.dataTable1.Columns.Contains(dt.Columns[jCol].ColumnName))
{
dr[dt.Columns[jCol].ColumnName] = Convert.ToString(dt.Rows[iRow][jCol]);
}
}
catch { }
}
this.dataTable1.Rows.Add(dr);
}
urGridLTemp.UpdateData();
dataTable1.AcceptChanges();
}
JJBStaticFunction.SetRowEdit(urGridLTemp);//Grid可编辑性
}
///
/// 更新数据
///
private void UpdateGrid()
{
JJBStaticFunction.Update(urGridLTemp);
strMess = "合金窄成分控制标准修改成功!";
if (urGridLTemp.ActiveRow != null)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
urGridLTemp.ActiveRow.Cells[ds.Tables[0].Columns[i].ColumnName].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
}
}
else
MessageBox.Show("请选择需要修改的数据行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
private void DeleteGrid()
{
if (urGridLTemp.ActiveRow != null)
{
string strID = urGridLTemp.ActiveRow.Cells["NUM"].Text.Trim();
JJBStaticFunction.Delete(urGridLTemp);
DelData(strID);
}
else
MessageBox.Show("请选择需要删除的数据行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
///
/// 删除合金窄成分控制标准标准
///
private void DelData(string strMCode)
{
string strErr = "";
if (dataTable1.GetChanges() != null)
{
ArrayList arry = new ArrayList();
arry.Add("frmSAHit_Del.select");
arry.Add(strMCode);
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
"doSimpleSave", arry, out strErr);
if (strErr != "" && ds != null)
{
MessageBox.Show(strErr);
}
else
{
MessageBox.Show("合金窄成分控制标准删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
}
///
/// 新增数据
///
///
public static void Add(Infragistics.Win.UltraWinGrid.UltraGridBase Grid)
{
Grid.UpdateData();
UltraGridRow ur = Grid.DisplayLayout.Bands[0].AddNew();
ur.Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
}
///
/// 保存合金窄成分控制标准
///
private void SaveData()
{
try
{
urGridLTemp.UpdateData();
if (dataTable1.Rows.Count > 0)
{
string strErr = "";
ArrayList arry = new ArrayList();
string ELEMENT = urGridLTemp.ActiveRow.Cells["ELEMENT"].Text;
string STEELNAME = urGridLTemp.ActiveRow.Cells["ACTUAL_STEEL"].Text;
string LOWER_LIMIT_E = urGridLTemp.ActiveRow.Cells["LOWER_LIMIT_E"].Text;
string LOWER_LIMIT_F = urGridLTemp.ActiveRow.Cells["LOWER_LIMIT_F"].Text;
string LOWER_LIMIT_EF = urGridLTemp.ActiveRow.Cells["LOWER_LIMIT_EF"].Text;
string LOWER_LIMIT_EI = urGridLTemp.ActiveRow.Cells["LOWER_LIMIT_EI"].Text;
string MEMO = urGridLTemp.ActiveRow.Cells["MEMO"].Text;
string ISLOWLIMIT = urGridLTemp.ActiveRow.Cells["ISLOWLIMIT"].Text;
if (strMess == "合金窄成分控制标准保存成功!")
{
arry.Add("frmSAHit_Save.select");
}
if (strMess == "合金窄成分控制标准修改成功!")
{
arry.Add("frmSAHit_Update.select");
}
arry.Add(ELEMENT);
arry.Add(STEELNAME);
arry.Add(LOWER_LIMIT_E);
arry.Add(LOWER_LIMIT_F);
arry.Add(LOWER_LIMIT_EF);
arry.Add(LOWER_LIMIT_EI);
arry.Add(MEMO);
arry.Add(ISLOWLIMIT);
if (strMess == "合金窄成分控制标准修改成功!")
{
string ID = urGridLTemp.ActiveRow.Cells["NUM"].Text;
arry.Add(ID);
}
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
"doSimpleSave", arry, out strErr);
if (strErr == "" && ds != null)
{
dataTable1.AcceptChanges();
JJBStaticFunction.SetRowEdit(urGridLTemp);
if (!string.IsNullOrEmpty(strMess))
MessageBox.Show(strMess, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
MessageBox.Show("保存失败!输入信息已经存在或数据无效。", "错误");
}
if (urGridLTemp.ActiveCell != null)
urGridLTemp.ActiveCell.Activated = false;
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
private void InitSteel()
{
try
{
string strErr = "";
//获取钢种
ArrayList arrySteel = new ArrayList();
arrySteel.Add("GetSteelInfo.select");
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
dsSteel = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arrySteel, out strErr);
if (strErr == "" && dsSteel != null)
{
//Core.Mes.Client.Common.Globals.FillUltraComboItems(ultcboSteel, dsSteel);
JJBStaticFunction.SetGridDropDownListCell("ACTUAL_STEEL", 0, "钢种", 135, urGridLTemp, dsSteel.Tables[0], "STEELCODE", "STEELNAME");
}
}
catch { }
}
private void chkSteel_CheckedChanged(object sender, EventArgs e)
{
ultcboSteel.Enabled = chkSteel.Checked;
}
public void ExportDataWithSaveDialog(ref UltraGrid ultGrid, string strFileName)
{
try
{
if (ultGrid.Rows.Count == 0) return;
if (strFileName.Length == 0)
strFileName = "未命名";
SaveFileDialog dlg = new SaveFileDialog();
dlg.Title = "保存";
dlg.OverwritePrompt = true;
dlg.Filter = "Excel文件(*.xls)|*.xls";
dlg.AddExtension = true;
dlg.FileName = strFileName;
if (dlg.ShowDialog() == DialogResult.OK)
{
strFileName = dlg.FileName;
ultraGridExcelExporter1.Export(ultGrid, strFileName);
if (MessageBox.Show("数据导出成功!\r\n需要打开所导出文件吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ultraGridExcelExporter1.Export(ultGrid, strFileName);
ProcessStartInfo p = new ProcessStartInfo(strFileName);
p.WorkingDirectory = Path.GetDirectoryName(strFileName);
Process.Start(p);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private ValueList proc_ValueListRemark()
{
ValueList vlist = new ValueList();
try
{
vlist.ValueListItems.Add("是", "是");
vlist.ValueListItems.Add("否", "否");
}
catch { }
return vlist;
}
}
}