init lserp cs 5.0

This commit is contained in:
cyf
2026-07-10 15:25:05 +08:00
commit 90f3fda86a
3799 changed files with 976868 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
namespace ERPClient
{
partial class FrmAbount
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAbount));
this.picAbout = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.picAbout)).BeginInit();
this.SuspendLayout();
//
// picAbout
//
this.picAbout.Dock = System.Windows.Forms.DockStyle.Fill;
this.picAbout.Image = ((System.Drawing.Image)(resources.GetObject("picAbout.Image")));
this.picAbout.Location = new System.Drawing.Point(0, 0);
this.picAbout.Name = "picAbout";
this.picAbout.Size = new System.Drawing.Size(567, 313);
this.picAbout.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.picAbout.TabIndex = 1;
this.picAbout.TabStop = false;
//
// FrmAbount
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(567, 313);
this.Controls.Add(this.picAbout);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "FrmAbount";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "关于朗速ERP3.0";
this.Load += new System.EventHandler(this.FrmAbount_Load);
((System.ComponentModel.ISupportInitialize)(this.picAbout)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.PictureBox picAbout;
}
}
+31
View File
@@ -0,0 +1,31 @@
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;
using CommonLib.data;
namespace ERPClient
{
public partial class FrmAbount : FormBase
{
public FrmAbount()
{
InitializeComponent();
}
private void FrmAbount_Load(object sender, EventArgs e)
{
//picAbout.Image = Image.FromFile("Images/About.jpg");
//this.Width = picAbout.Width;
//this.Height = picAbout.Height;
//this.Left = (Screen.PrimaryScreen.Bounds.Width - this.Width) / 2;
//this.Top = (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2;
}
}
}
File diff suppressed because it is too large Load Diff
+154
View File
@@ -0,0 +1,154 @@
namespace ERPClient
{
partial class FrmConfig
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmConfig));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.txtDBName = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtServerName = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.btnTestConnect = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button();
this.btnQuit = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.txtDBName);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.txtServerName);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Location = new System.Drawing.Point(11, 5);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(277, 72);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// txtDBName
//
this.txtDBName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtDBName.Location = new System.Drawing.Point(104, 42);
this.txtDBName.MaxLength = 50;
this.txtDBName.Name = "txtDBName";
this.txtDBName.Size = new System.Drawing.Size(162, 21);
this.txtDBName.TabIndex = 3;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(6, 45);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 2;
this.label2.Text = "数据库名称";
//
// txtServerName
//
this.txtServerName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtServerName.Location = new System.Drawing.Point(104, 14);
this.txtServerName.MaxLength = 50;
this.txtServerName.Name = "txtServerName";
this.txtServerName.Size = new System.Drawing.Size(162, 21);
this.txtServerName.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(89, 12);
this.label1.TabIndex = 0;
this.label1.Text = "服务器名称或IP";
//
// btnTestConnect
//
this.btnTestConnect.Location = new System.Drawing.Point(12, 83);
this.btnTestConnect.Name = "btnTestConnect";
this.btnTestConnect.Size = new System.Drawing.Size(79, 23);
this.btnTestConnect.TabIndex = 1;
this.btnTestConnect.Text = "测试连接(&T)";
this.btnTestConnect.UseVisualStyleBackColor = true;
this.btnTestConnect.Click += new System.EventHandler(this.btnTestConnect_Click);
//
// btnSave
//
this.btnSave.Location = new System.Drawing.Point(109, 83);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(79, 23);
this.btnSave.TabIndex = 2;
this.btnSave.Text = "保存设置(&S)";
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// btnQuit
//
this.btnQuit.Location = new System.Drawing.Point(206, 83);
this.btnQuit.Name = "btnQuit";
this.btnQuit.Size = new System.Drawing.Size(79, 23);
this.btnQuit.TabIndex = 3;
this.btnQuit.Text = "关闭(&Q)";
this.btnQuit.UseVisualStyleBackColor = true;
this.btnQuit.Click += new System.EventHandler(this.btnQuit_Click);
//
// FrmConfig
//
this.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Appearance.Options.UseFont = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(301, 122);
this.Controls.Add(this.btnQuit);
this.Controls.Add(this.btnSave);
this.Controls.Add(this.btnTestConnect);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmConfig";
this.Text = "系统配置";
this.Load += new System.EventHandler(this.FrmConfig_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox txtDBName;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtServerName;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnTestConnect;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Button btnQuit;
}
}
+77
View File
@@ -0,0 +1,77 @@
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;
using System.Data.SqlClient;
using CommonLib;
using CommonLib.data;
using DevExpress.XtraEditors;
namespace ERPClient {
public partial class FrmConfig : XtraForm {
public FrmConfig() {
InitializeComponent();
DevExpress.Skins.SkinManager.EnableFormSkins();
}
private void btnTestConnect_Click(object sender, EventArgs e) {
TestConfig(false);
}
private void btnSave_Click(object sender, EventArgs e) {
TestConfig(true);
}
private void TestConfig(bool bSave) {
if (txtServerName.Text.Trim() == string.Empty) {
MessageBox.Show("请输入服务器名称或IP");
return;
}
if (txtDBName.Text.Trim() == string.Empty) {
MessageBox.Show("请输入数据库名称!");
return;
}
DBConfig.Instance.ServerName = txtServerName.Text.Trim();
DBConfig.Instance.datastr = txtDBName.Text.Trim();
Cursor = Cursors.Hand;
try {
string connectionStr = DBConfig.Instance.GetConStr();
using (SqlConnection conn = new SqlConnection(connectionStr)) {
conn.Open();
conn.Close();
conn.Dispose();
}
if (bSave) {
MessageBox.Show("保存成功,系统需要重启.");
DBConfig.Instance.WriteConfig();
DialogResult = DialogResult.OK;
Close();
}
else {
MessageBox.Show("连接正确.");
}
}
catch (Exception ex) {
MessageBox.Show("连接失败,请确认配置是否正确!");
}
finally {
Cursor = Cursors.Default;
}
}
private void btnQuit_Click(object sender, EventArgs e) {
Close();
}
private void FrmConfig_Load(object sender, EventArgs e) {
txtServerName.Text = DBConfig.Instance.ServerName;
txtDBName.Text = DBConfig.Instance.datastr;
}
}
}
File diff suppressed because it is too large Load Diff
+60
View File
@@ -0,0 +1,60 @@
namespace ERPClient
{
partial class FrmDownLoad
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.SuspendLayout();
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(0, 0);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(364, 23);
this.progressBar1.TabIndex = 0;
//
// FrmDownLoad
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(365, 23);
this.ControlBox = false;
this.Controls.Add(this.progressBar1);
this.Name = "FrmDownLoad";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "FrmDownLoad";
this.Load += new System.EventHandler(this.FrmDownLoad_Load);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ProgressBar progressBar1;
}
}
+301
View File
@@ -0,0 +1,301 @@
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;
using System.IO;
using System.Data.SqlClient;
using CommonLib;
using CommonLib.data;
namespace ERPClient
{
/// <summary>
/// 文件更新类
/// </summary>
public partial class FrmDownLoad : FormBase
{
/// <summary>
/// 文件位置下载模式结构
/// </summary>
private class FileLocationData
{
public string Location = "";
public string FileName = "";
public int DownloadModel = 0;
}
//扩展名数据存储列表
private SortedList<string, FileLocationData> extList;
//核心程序更新列表
private SortedList<string, FileLocationData> kernalList;
//主文件名称(为空表示不存在更新)
private string m_MainFileName = "";
public FrmDownLoad()
{
InitializeComponent();
}
private void FrmDownLoad_Load(object sender, EventArgs e)
{
//默认升级失败
DialogResult = System.Windows.Forms.DialogResult.Abort;
if (ERPInfo.Instance.UpdateIP == string.Empty)
return;
extList = new SortedList<string, FileLocationData>();
kernalList = new SortedList<string, FileLocationData>();
string strDir = "\\\\" + ERPInfo.Instance.UpdateIP + "\\update";
//if (false)
// strDir = "D:\\update";
//这里不再继续对路径做存在判断了
//if (Directory.Exists(strDir) == false)
// return;
try
{
this.Text = "";
string strSql = "select FileName,Location,DownloadModel from FileLocationRelationTab";
using (SqlDataReader dr = SqlHelper.ExecuteReader(CommandType.Text, strSql, null))
{
while (dr.Read())
{
FileLocationData data = null;
string strKey = strDir+"\\"+dr["Location"].ToString().Trim() ;
strKey = Path.GetDirectoryName(strKey) +"\\"+ dr["FileName"].ToString().Trim();
if (extList.TryGetValue(strKey, out data) == false)
{
data = new FileLocationData();
extList.Add(strKey, data);
}
data.Location = dr["Location"].ToString().Trim();
data.DownloadModel = int.Parse( dr["DownloadModel"].ToString());
data.FileName = dr["FileName"].ToString().Trim();
}
}
BeginCheckFile(strDir);
//升级成功
DialogResult = System.Windows.Forms.DialogResult.OK;
if (m_MainFileName != "")
{
if (Directory.Exists(PubUtil.AbsolutelyPath + "tempfiles") == false)
Directory.CreateDirectory(PubUtil.AbsolutelyPath + "tempfiles");
StreamWriter sw = new StreamWriter(PubUtil.AbsolutelyPath + "tempfiles/a_12_m_1z.bat", false, System.Text.Encoding.Default);
foreach (string item in kernalList.Keys)
{
sw.WriteLine("@echo off ");
sw.WriteLine(":delcontinue ");
sw.WriteLine(string.Format("del {0} /f /q ", kernalList[item].FileName));
sw.WriteLine(string.Format("if exist {0} goto delcontinue ", kernalList[item].FileName));
sw.WriteLine(":renamecontinue ");
sw.WriteLine(string.Format("rename {0} {1} ", item, kernalList[item].FileName));
sw.WriteLine(string.Format("if not exist {0} goto renamecontinue ", kernalList[item].FileName));
//sw.WriteLine(string.Format("{0} ", PubUtil.AbsolutelyFileName));
}
//sw.WriteLine("@echo off ");
//sw.WriteLine(":delcontinue ");
//sw.WriteLine(string.Format("del {0} /f /q ", PubUtil.AbsolutelyFileName));
//sw.WriteLine(string.Format("if exist {0} goto delcontinue ", PubUtil.AbsolutelyFileName));
//sw.WriteLine(":renamecontinue ");
//sw.WriteLine(string.Format("rename {0} {1} ", m_MainFileName, Path.GetFileName(PubUtil.AbsolutelyFileName)));
//sw.WriteLine(string.Format("if not exist {0} goto renamecontinue ", PubUtil.AbsolutelyFileName));
//sw.WriteLine(string.Format("{0} ", PubUtil.AbsolutelyFileName));
sw.Flush();
sw.Close();
MessageBox.Show("由于系统发现更新了核心程序,因此需要马上关闭系统进入强制更新程序\r\n更新完成后请重新进入系统!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
PubUtil.WinExec(PubUtil.AbsolutelyPath + "tempfiles/a_12_m_1z.bat", 0);
//System.Net.WebClient.DownloadFile("","");
//MessageBox.Show("由于系统发现更新了核心程序,因此需要马上关闭系统进入强制更新程序\r\n更新完成后请重新进入系统!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
//PubUtil.WinExec(PubUtil.AbsolutelyPath + "UpdateXlFile.exe", 0);
//主程序有更新,必须全部关闭并重启
Application.Exit();
}
}
catch (Exception ex)
{
PubUtil.WriteError("升级出错", ex.Message);
MessageBox.Show("升级出错!请重新登录");
}
}
//拷贝成功的数量
private int m_SuccessCount = 0;
//拷贝失败的数量
private int m_FailedCount = 0;
private void BeginCheckFile(string strDir)
{
string filePath = Application.StartupPath;
progressBar1.Minimum = 0;
string strMainFileName = Path.GetFileName(PubUtil.AbsolutelyFileName);
CopyFile(strDir, filePath + "\\", new byte[102400], strMainFileName);
if (m_SuccessCount != 0 || m_FailedCount != 0)
MessageBox.Show(string.Format("更新完毕,{0}个成功,{1}个失败!", m_SuccessCount, m_FailedCount));
}
/// <summary>
///
/// </summary>
/// <param name="srcdir"></param>
/// <param name="desdir"></param>
private void CopyFile(string srcdir, string desdir, byte[] byteData, string strMainFileName)
{
try
{
if (!Directory.Exists(desdir))
{
Directory.CreateDirectory(desdir);
}
//遍历目录
string[] dirNames = Directory.GetDirectories(srcdir);
foreach (string sDir in dirNames)
{
string[] arr = sDir.Split(new string[]{ "\\"},StringSplitOptions.RemoveEmptyEntries);
string strLastPath = arr[arr.Length-1];
CopyFile(sDir, desdir + strLastPath + "\\", byteData, strMainFileName);
}
string[] filenames = Directory.GetFiles(srcdir);// .GetFileSystemEntries(srcdir);
// 遍历所有的文件和目录
foreach (string file in filenames)
{
string strFileName = Path.GetFileName(file);
string dstFileName = "";
FileLocationData data =null;
int DownloadModel = 1;
if (extList.TryGetValue(srcdir + "\\", out data) || extList.TryGetValue(srcdir + "\\" + strFileName, out data))
{
DownloadModel = data.DownloadModel;
dstFileName = desdir + strFileName;
}
else
{
dstFileName = desdir + strFileName;
}
//只有目标文件存在的情况下才比较
if (File.Exists(dstFileName))
{
//文件版本比较模式下不是最新版本不予下载
if (DownloadModel == 1)
{
System.Diagnostics.FileVersionInfo fiSrc = System.Diagnostics.FileVersionInfo.GetVersionInfo(file);
System.Diagnostics.FileVersionInfo fiDst = System.Diagnostics.FileVersionInfo.GetVersionInfo(dstFileName);
if (string.Compare(fiSrc.FileVersion, fiDst.FileVersion) < 1)
{
FileInfo fiSrc1 = new FileInfo(file);
FileInfo fiDst1 = new FileInfo(dstFileName);
if (fiSrc1.LastWriteTime <= fiDst1.LastWriteTime)
continue;
}
}
//按照最后更新时间模式下不是最新文件不予下载
if (DownloadModel == 0)
{
FileInfo fiSrc = new FileInfo(file);
FileInfo fiDst = new FileInfo(dstFileName);
if (fiSrc.LastWriteTime <= fiDst.LastWriteTime)
continue;
}
}
this.Text = Path.GetFileName(file);
//File.Copy(file, srcfileName, true);无法控制进度
//查看下是否主文件有更新
if (((strMainFileName == Path.GetFileName(dstFileName))) ||
(Path.GetFileName(dstFileName).ToLower() == "commonlib.dll")||
(Path.GetFileName(dstFileName).ToLower() == "controllib.dll")||
(Path.GetFileName(dstFileName).ToLower() == "xlpublic.dll")||
(Path.GetFileName(dstFileName).ToLower() == "delphidll.dll")||
(Path.GetFileName(dstFileName).ToLower() == "publiclibrary.dll"))
{
Random rnd = new Random();
dstFileName = Path.GetFileName(dstFileName);
string srcFileName = Path.GetFileName(dstFileName);
dstFileName = rnd.Next(1000000).ToString() + dstFileName;
dstFileName =desdir + dstFileName;
//MessageBox.Show("destFileName:" + dstFileName + "\n\r sourceFile:"+srcFileName);
m_MainFileName = dstFileName;
string strKey = dstFileName;
if (kernalList.TryGetValue(strKey, out data) == false)
{
data = new FileLocationData();
kernalList.Add(strKey, data);
data.FileName = srcFileName;
}
//ontinue;
}
FileStream fsSource = null;
FileStream fsDest = null;
try
{
fsSource = File.OpenRead(file);
progressBar1.Maximum = (int)fsSource.Length;
progressBar1.Value = 0;
fsDest = File.Create(dstFileName);
while (fsSource.Position < fsSource.Length)
{
int pos = (int)fsSource.Position;
int len = fsSource.Read(byteData, 0, byteData.Length);
fsDest.Write(byteData,0, len);
progressBar1.Value = (int)fsSource.Position;
}
m_SuccessCount++;
}
catch (Exception ex)
{
PubUtil.WriteError("升级出错",ex.Message);
m_FailedCount++;
}
finally
{
if (fsSource != null)
fsSource.Close();
if (fsDest != null)
fsDest.Close();
}
}
}
catch (Exception ex)
{
PubUtil.WriteError("文件升级错误" , ex.Message);
}
}
}
}
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+366
View File
@@ -0,0 +1,366 @@
namespace ERPClient
{
partial class FrmHistoryMessage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.label1 = new System.Windows.Forms.Label();
this.btnClose = new System.Windows.Forms.Button();
this.btnQuery = new System.Windows.Forms.Button();
this.dtEnd = new System.Windows.Forms.DateTimePicker();
this.dtStart = new System.Windows.Forms.DateTimePicker();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.gvNew = new System.Windows.Forms.DataGridView();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.gvHistory = new System.Windows.Forms.DataGridView();
this.ReceivedCount = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.EmployeeName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Sex = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gvNew)).BeginInit();
this.tabPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gvHistory)).BeginInit();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Margin = new System.Windows.Forms.Padding(0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.label1);
this.splitContainer1.Panel1.Controls.Add(this.btnClose);
this.splitContainer1.Panel1.Controls.Add(this.btnQuery);
this.splitContainer1.Panel1.Controls.Add(this.dtEnd);
this.splitContainer1.Panel1.Controls.Add(this.dtStart);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.tabControl1);
this.splitContainer1.Size = new System.Drawing.Size(920, 482);
this.splitContainer1.SplitterDistance = 37;
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 0;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(127, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(11, 12);
this.label1.TabIndex = 4;
this.label1.Text = "-";
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(426, 10);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(75, 23);
this.btnClose.TabIndex = 3;
this.btnClose.Text = "退出";
this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// btnQuery
//
this.btnQuery.Location = new System.Drawing.Point(304, 10);
this.btnQuery.Name = "btnQuery";
this.btnQuery.Size = new System.Drawing.Size(75, 23);
this.btnQuery.TabIndex = 2;
this.btnQuery.Text = "查询";
this.btnQuery.UseVisualStyleBackColor = true;
this.btnQuery.Click += new System.EventHandler(this.btnQuery_Click);
//
// dtEnd
//
this.dtEnd.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dtEnd.Location = new System.Drawing.Point(144, 10);
this.dtEnd.Name = "dtEnd";
this.dtEnd.Size = new System.Drawing.Size(109, 21);
this.dtEnd.TabIndex = 1;
//
// dtStart
//
this.dtStart.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dtStart.Location = new System.Drawing.Point(12, 12);
this.dtStart.Name = "dtStart";
this.dtStart.Size = new System.Drawing.Size(109, 21);
this.dtStart.TabIndex = 0;
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(920, 444);
this.tabControl1.TabIndex = 0;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.gvNew);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(912, 418);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "最新消息";
this.tabPage1.UseVisualStyleBackColor = true;
//
// gvNew
//
this.gvNew.AllowUserToAddRows = false;
this.gvNew.AllowUserToDeleteRows = false;
this.gvNew.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.gvNew.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ReceivedCount,
this.EmployeeName,
this.Sex,
this.Column2,
this.Column3,
this.Column4});
this.gvNew.Dock = System.Windows.Forms.DockStyle.Fill;
this.gvNew.Location = new System.Drawing.Point(3, 3);
this.gvNew.MultiSelect = false;
this.gvNew.Name = "gvNew";
this.gvNew.ReadOnly = true;
this.gvNew.RowTemplate.Height = 23;
this.gvNew.Size = new System.Drawing.Size(906, 412);
this.gvNew.TabIndex = 2;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.gvHistory);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(912, 418);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "历史消息";
this.tabPage2.UseVisualStyleBackColor = true;
//
// gvHistory
//
this.gvHistory.AllowUserToAddRows = false;
this.gvHistory.AllowUserToDeleteRows = false;
this.gvHistory.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.gvHistory.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn1,
this.dataGridViewTextBoxColumn2,
this.dataGridViewTextBoxColumn3,
this.dataGridViewTextBoxColumn4,
this.dataGridViewTextBoxColumn5,
this.dataGridViewTextBoxColumn6,
this.dataGridViewTextBoxColumn7});
this.gvHistory.Dock = System.Windows.Forms.DockStyle.Fill;
this.gvHistory.Location = new System.Drawing.Point(3, 3);
this.gvHistory.MultiSelect = false;
this.gvHistory.Name = "gvHistory";
this.gvHistory.ReadOnly = true;
this.gvHistory.RowTemplate.Height = 23;
this.gvHistory.Size = new System.Drawing.Size(906, 412);
this.gvHistory.TabIndex = 3;
//
// ReceivedCount
//
this.ReceivedCount.DataPropertyName = "EmployeeId";
this.ReceivedCount.HeaderText = "标志";
this.ReceivedCount.Name = "ReceivedCount";
this.ReceivedCount.ReadOnly = true;
this.ReceivedCount.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.ReceivedCount.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.ReceivedCount.Width = 40;
//
// EmployeeName
//
this.EmployeeName.DataPropertyName = "HintCreator";
this.EmployeeName.HeaderText = "发送人";
this.EmployeeName.MaxInputLength = 100;
this.EmployeeName.Name = "EmployeeName";
this.EmployeeName.ReadOnly = true;
//
// Sex
//
this.Sex.DataPropertyName = "StartTime";
this.Sex.HeaderText = "发送时间";
this.Sex.MaxInputLength = 10;
this.Sex.Name = "Sex";
this.Sex.ReadOnly = true;
//
// Column2
//
this.Column2.DataPropertyName = "HintContent";
this.Column2.HeaderText = "消息内容";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 300;
//
// Column3
//
this.Column3.DataPropertyName = "SourceTableName";
this.Column3.HeaderText = "关键字";
this.Column3.Name = "Column3";
this.Column3.ReadOnly = true;
//
// Column4
//
this.Column4.DataPropertyName = "LoginAccount";
this.Column4.HeaderText = "接收人";
this.Column4.Name = "Column4";
this.Column4.ReadOnly = true;
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.DataPropertyName = "ReceivedCount";
this.dataGridViewTextBoxColumn1.HeaderText = "标志";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.ReadOnly = true;
this.dataGridViewTextBoxColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.dataGridViewTextBoxColumn1.Width = 40;
//
// dataGridViewTextBoxColumn2
//
this.dataGridViewTextBoxColumn2.DataPropertyName = "HintCreator";
this.dataGridViewTextBoxColumn2.HeaderText = "发送人";
this.dataGridViewTextBoxColumn2.MaxInputLength = 100;
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
this.dataGridViewTextBoxColumn2.ReadOnly = true;
//
// dataGridViewTextBoxColumn3
//
this.dataGridViewTextBoxColumn3.DataPropertyName = "StartTime";
this.dataGridViewTextBoxColumn3.HeaderText = "发送时间";
this.dataGridViewTextBoxColumn3.MaxInputLength = 10;
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
this.dataGridViewTextBoxColumn3.ReadOnly = true;
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.DataPropertyName = "DeleteTime";
this.dataGridViewTextBoxColumn4.HeaderText = "查阅时间";
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
this.dataGridViewTextBoxColumn4.ReadOnly = true;
//
// dataGridViewTextBoxColumn5
//
this.dataGridViewTextBoxColumn5.DataPropertyName = "HintContent";
this.dataGridViewTextBoxColumn5.HeaderText = "消息内容";
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
this.dataGridViewTextBoxColumn5.ReadOnly = true;
this.dataGridViewTextBoxColumn5.Width = 300;
//
// dataGridViewTextBoxColumn6
//
this.dataGridViewTextBoxColumn6.DataPropertyName = "SourceTableName";
this.dataGridViewTextBoxColumn6.HeaderText = "关键字";
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
this.dataGridViewTextBoxColumn6.ReadOnly = true;
//
// dataGridViewTextBoxColumn7
//
this.dataGridViewTextBoxColumn7.DataPropertyName = "LoginAccount";
this.dataGridViewTextBoxColumn7.HeaderText = "接收人";
this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
this.dataGridViewTextBoxColumn7.ReadOnly = true;
//
// FrmHistoryMessage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(920, 482);
this.Controls.Add(this.splitContainer1);
this.Name = "FrmHistoryMessage";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "消息查询";
this.Load += new System.EventHandler(this.FrmHistoryMessage_Load);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gvNew)).EndInit();
this.tabPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gvHistory)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Button btnQuery;
private System.Windows.Forms.DateTimePicker dtEnd;
private System.Windows.Forms.DateTimePicker dtStart;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.DataGridView gvNew;
private System.Windows.Forms.DataGridView gvHistory;
private System.Windows.Forms.DataGridViewCheckBoxColumn ReceivedCount;
private System.Windows.Forms.DataGridViewTextBoxColumn EmployeeName;
private System.Windows.Forms.DataGridViewTextBoxColumn Sex;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
}
}
@@ -0,0 +1,64 @@
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;
using CommonLib;
using System.Data.SqlClient;
using CommonLib.data;
namespace ERPClient
{
public partial class FrmHistoryMessage : FormBase
{
public FrmHistoryMessage()
{
InitializeComponent();
}
private void btnQuery_Click(object sender, EventArgs e)
{
try
{
string strSql = "";
if (this.tabControl1.SelectedIndex == 0)
{
strSql = string.Format(@"select * from P_MsgHintEmployeeTab a WITH (nolock) join P_MessageHintTab b WITH (nolock)
on a.messageid=b.messageid where ((LoginAccount='{0}') or (LoginAccount='{0}')) and starttime>='{1}'
and starttime<'{2}' order by starttime",ERPInfo.Instance.EmployeeName,dtStart.Value,dtEnd.Value);
DataSet dsNew = SqlHelper.ExecuteDataSet(CommandType.Text, strSql, "P_MsgHintEmployeeTab", null);
gvNew.DataSource = dsNew.Tables[0];
}
else
{
strSql = string.Format(@"select * from P_h_MsgHintEmployeeTab a WITH (nolock) join P_h_MessageHintTab b WITH (nolock)
on a.messageid=b.messageid where ((LoginAccount='{0}') or (LoginAccount='{0}'))
and starttime>='{1}' and starttime<'{2}' order by starttime", ERPInfo.Instance.EmployeeName, dtStart.Value, dtEnd.Value);
DataSet dsHistory = SqlHelper.ExecuteDataSet(CommandType.Text, strSql, "P_h_MsgHintEmployeeTab", null);
gvHistory.DataSource = dsHistory.Tables[0];
}
}
catch (Exception ex)
{
PubUtil.WriteError("查询记录出错!",ex.Message);
}
}
private void FrmHistoryMessage_Load(object sender, EventArgs e)
{
gvNew.AutoGenerateColumns = false;
gvHistory.AutoGenerateColumns = false;
btnQuery_Click(null, null);
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
}
}
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ReceivedCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EmployeeName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Sex.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+226
View File
@@ -0,0 +1,226 @@
namespace ERPClient
{
partial class FrmMessage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label1 = new System.Windows.Forms.Label();
this.panelContainer = new System.Windows.Forms.Panel();
this.btnClose = new System.Windows.Forms.Button();
this.btnDelAll = new System.Windows.Forms.Button();
this.btnDelSelected = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuDelSelect = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Margin = new System.Windows.Forms.Padding(0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.btnClose);
this.splitContainer1.Panel2.Controls.Add(this.btnDelAll);
this.splitContainer1.Panel2.Controls.Add(this.btnDelSelected);
this.splitContainer1.Panel2.Controls.Add(this.label2);
this.splitContainer1.Panel2MinSize = 30;
this.splitContainer1.Size = new System.Drawing.Size(456, 349);
this.splitContainer1.SplitterDistance = 318;
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 0;
//
// splitContainer2
//
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.groupBox1);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.panelContainer);
this.splitContainer2.Size = new System.Drawing.Size(456, 318);
this.splitContainer2.SplitterDistance = 26;
this.splitContainer2.TabIndex = 0;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(456, 26);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 11);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(197, 12);
this.label1.TabIndex = 18;
this.label1.Text = " 选 | 内容";
//
// panelContainer
//
this.panelContainer.AutoScroll = true;
this.panelContainer.BackColor = System.Drawing.SystemColors.Window;
this.panelContainer.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panelContainer.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelContainer.Location = new System.Drawing.Point(0, 0);
this.panelContainer.Margin = new System.Windows.Forms.Padding(0);
this.panelContainer.Name = "panelContainer";
this.panelContainer.Size = new System.Drawing.Size(456, 288);
this.panelContainer.TabIndex = 20;
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(367, 4);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(75, 23);
this.btnClose.TabIndex = 3;
this.btnClose.Text = "退出";
this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// btnDelAll
//
this.btnDelAll.Location = new System.Drawing.Point(275, 4);
this.btnDelAll.Name = "btnDelAll";
this.btnDelAll.Size = new System.Drawing.Size(75, 23);
this.btnDelAll.TabIndex = 2;
this.btnDelAll.Text = "全部删除";
this.btnDelAll.UseVisualStyleBackColor = true;
this.btnDelAll.Click += new System.EventHandler(this.btnDelAll_Click);
//
// btnDelSelected
//
this.btnDelSelected.Location = new System.Drawing.Point(184, 4);
this.btnDelSelected.Name = "btnDelSelected";
this.btnDelSelected.Size = new System.Drawing.Size(75, 23);
this.btnDelSelected.TabIndex = 1;
this.btnDelSelected.Text = "删除选中";
this.btnDelSelected.UseVisualStyleBackColor = true;
this.btnDelSelected.Click += new System.EventHandler(this.btnDelSelected_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(3, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(161, 12);
this.label2.TabIndex = 0;
this.label2.Text = "注:红色条目可双击关联模块";
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuDelSelect});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(153, 48);
//
// menuDelSelect
//
this.menuDelSelect.Name = "menuDelSelect";
this.menuDelSelect.Size = new System.Drawing.Size(152, 22);
this.menuDelSelect.Text = "删除选中明细";
this.menuDelSelect.Click += new System.EventHandler(this.menuDelSelect_Click);
//
// FrmMessage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(456, 349);
this.Controls.Add(this.splitContainer1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Name = "FrmMessage";
this.ShowInTaskbar = false;
this.Text = "消息提醒";
this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMessage_FormClosing);
this.Load += new System.EventHandler(this.FrmMessage_Load);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Button btnDelAll;
private System.Windows.Forms.Button btnDelSelected;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panelContainer;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem menuDelSelect;
}
}
+230
View File
@@ -0,0 +1,230 @@
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;
using ControlLib.com;
using CommonLib;
using CommonLib.data;
namespace ERPClient
{
public partial class FrmMessage : FormBase
{
private static FrmMessage _instance = null;
private FrmMessage()
{
InitializeComponent();
}
public static FrmMessage Instance
{
get {
if (_instance == null)
_instance = new FrmMessage();
return _instance;
}
}
//=============================================================================================================
//主界面上的消息标签
public Label MessageButton;
//消息数
public int MessageCount = 0;
/// <summary>
/// 更新消息数
/// </summary>
/// <param name="dec"></param>
public void UpdateMessageCount(int dec)
{
MessageCount += dec;
if(MessageButton!=null)
MessageButton.Text = "消息:" + MessageCount.ToString();
}
private void FrmMessage_Load(object sender, EventArgs e)
{
//初始化位置
this.Top = Screen.PrimaryScreen.Bounds.Height-this.Height-35;
this.Left = Screen.PrimaryScreen.Bounds.Width-this.Width-2;
}
/// <summary>
/// 添加一条消息
/// </summary>
/// <param name="MessageId"></param>
/// <param name="strInfo"></param>
public void AddItem(int MessageId, string strInfo)
{
SingleSelecter item = new SingleSelecter();
item.SetInfo(MessageId, strInfo);
panelContainer.Controls.Add(item);
item.ContextMenuStrip = this.contextMenuStrip1;
item.LblInfo.DoubleClick += new EventHandler(onItemDoubleClick);
item.LblInfo.Click += new EventHandler(onItemClick);
//if (panelContainer.Controls.Count % 2 == 1)
// item.BackColor = Color.LightSlateGray;
//else
// item.BackColor = Color.White;
Reset();
UpdateMessageCount(1);
}
//增加和删除后重新将panel中的控件排位置
private void Reset()
{
int startY = 0;
for (int i = 0; i < panelContainer.Controls.Count; i++)
{
Control c = panelContainer.Controls[i];
c.Top = startY;
startY += c.Height;
}
}
//删除选中
private void btnDelSelected_Click(object sender, EventArgs e)
{
for(int i=0;i<panelContainer.Controls.Count;)
{
Control c = panelContainer.Controls[i];
SingleSelecter item = (SingleSelecter)c;
if(item!=null && item.Checked)
{
DelMessage0("用户删除信息", item.MessageId);
panelContainer.Controls.Remove(c);
}
else
i++;
}
Reset();
}
//删除所有
private void btnDelAll_Click(object sender, EventArgs e)
{
SqlHelper.ExecuteNonQuery(CommandType.Text, "insert P_H_MsgHintEmployeeTab select *,getdate() from P_MsgHintEmployeeTab where LoginAccount='" + ERPInfo.Instance.OperatorName + "'", null);
SqlHelper.ExecuteNonQuery(CommandType.Text, "delete P_MsgHintEmployeeTab where LoginAccount='" + ERPInfo.Instance.OperatorName + "'", null);
SqlHelper.ExecuteNonQuery(CommandType.Text, "insert P_H_MessageHintTab select *,getdate() from P_MessageHintTab where messageid not in (select messageid from P_H_MessageHintTab)", null);
SqlHelper.ExecuteNonQuery(CommandType.Text, "DELETE P_MessageHintTab where messageid not in(select messageid from P_MsgHintEmployeeTab)", null);
UpdateMessageCount(-MessageCount);
panelContainer.Controls.Clear();
Close();
}
//关闭消息窗体
private void btnClose_Click(object sender, EventArgs e)
{
//这里该怎么处理消息了
//UpdateMessageCount(-MessageCount);
//panelContainer.Controls.Clear();
this.Close();
}
//弹出菜单删除选择项
private void menuDelSelect_Click(object sender, EventArgs e)
{
foreach (Control c in panelContainer.Controls)
{
SingleSelecter item = (SingleSelecter)c;
if (item != null && item.Selected)
{
DelMessage0("用户删除信息", item.MessageId);
panelContainer.Controls.Remove(c);
Reset();
UpdateMessageCount(-1);
return;
}
}
}
//单击到某个容器则修改selected状态
private void onItemClick(object sender, EventArgs e)
{
Label lbl = (Label)sender;
SingleSelecter item = (SingleSelecter)lbl.Parent;
foreach (Control c in panelContainer.Controls)
{
SingleSelecter item1 = (SingleSelecter)c;
if (item1 != null)
item1.Selected = false;
}
item.Selected = true;
}
//双击弹出其他操作窗口
private void onItemDoubleClick(object sender, EventArgs e)
{
Label lbl = (Label)sender;
SingleSelecter item = (SingleSelecter)lbl.Parent;
//string strInfo = item.LblInfo.Text;
//MessageBox.Show(strInfo);
string DllFileName = item.DllName;//除了库名还应提供是delphi还是c#标志
if (DllFileName!="")
{
this.Hide();
//Gtime4id = 1;
//string NewModelFlag = "";
//PubUtil.LoadDll(DllFileName, NewModelFlag);
PubUtil.LoadDelphiDll(PubUtil.AbsolutelyPath + "lib/" + DllFileName, DllFileName, DllFileName, DllFileName, "OK", 100, "");
//rightstr(node.Values[3], 12)
//Gtime4id := 0;
this.Show();
}
}
/// <summary>
/// 查阅消息后处理
/// </summary>
/// <param name="SysMessage"></param>
/// <param name="messageid"></param>
private void DelMessage0(string SysMessage, int messageid)
{
try
{
string strSql = string.Format("update P_MessageHintTab set HintType=0 where HintType=1 and messageid='{0}'", messageid);
SqlHelper.ExecuteNonQuery(CommandType.Text, strSql, null);
// MgePackageDel.messageid := messageid;
// MgePackageDel.SqlValue := IntToStr(messageid) + '|';
// MgePackageDel.LoginAccounts := GOperatorname;
// MgePackageDel.Remark := SysMessage;
// MgePackageDel.OpWay := 4;
// MgePackageDel.ADOSP := pr_MessageHintop;
// PubleUnit.MessAgeMge.FDeleteMessage(MgePackageDel);
}
catch (Exception ex)
{
PubUtil.WriteError("查阅消息后处理出错" , ex.Message);
}
}
/// <summary>
/// 是否可以释放窗体
/// </summary>
public bool CanClose = false;
private void FrmMessage_FormClosing(object sender, FormClosingEventArgs e)
{
if (!CanClose && e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
this.Hide();
}
}
}
}
+123
View File
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
+173
View File
@@ -0,0 +1,173 @@
namespace ERPClient
{
partial class FrmRelogin
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
ControlLib.inh.SearcherPropertyCollector searcherPropertyCollector2 = new ControlLib.inh.SearcherPropertyCollector();
ControlLib.inh.TFieldPropertyData tFieldPropertyData3 = new ControlLib.inh.TFieldPropertyData();
ControlLib.inh.TFieldPropertyData tFieldPropertyData4 = new ControlLib.inh.TFieldPropertyData();
this.btnQuit = new System.Windows.Forms.Button();
this.btnLogin = new System.Windows.Forms.Button();
this.txtPassword = new System.Windows.Forms.TextBox();
this.lblPwd = new System.Windows.Forms.Label();
this.lblName = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.txtUserName = new ControlLib.inh.AutoSearcher();
this.SuspendLayout();
//
// btnQuit
//
this.btnQuit.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnQuit.Location = new System.Drawing.Point(236, 152);
this.btnQuit.Name = "btnQuit";
this.btnQuit.Size = new System.Drawing.Size(75, 23);
this.btnQuit.TabIndex = 14;
this.btnQuit.Text = "退出(&Q)";
this.btnQuit.UseVisualStyleBackColor = true;
this.btnQuit.Click += new System.EventHandler(this.btnQuit_Click);
//
// btnLogin
//
this.btnLogin.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLogin.Location = new System.Drawing.Point(131, 152);
this.btnLogin.Name = "btnLogin";
this.btnLogin.Size = new System.Drawing.Size(94, 23);
this.btnLogin.TabIndex = 13;
this.btnLogin.Text = "重新登陆(&L)";
this.btnLogin.UseVisualStyleBackColor = true;
this.btnLogin.Click += new System.EventHandler(this.btnLogin_Click);
//
// txtPassword
//
this.txtPassword.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtPassword.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtPassword.Location = new System.Drawing.Point(105, 65);
this.txtPassword.MaxLength = 50;
this.txtPassword.Name = "txtPassword";
this.txtPassword.PasswordChar = '*';
this.txtPassword.Size = new System.Drawing.Size(206, 23);
this.txtPassword.TabIndex = 12;
//
// lblPwd
//
this.lblPwd.AutoSize = true;
this.lblPwd.BackColor = System.Drawing.Color.Transparent;
this.lblPwd.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblPwd.Location = new System.Drawing.Point(29, 68);
this.lblPwd.Name = "lblPwd";
this.lblPwd.Size = new System.Drawing.Size(63, 14);
this.lblPwd.TabIndex = 11;
this.lblPwd.Text = "登陆密码";
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.BackColor = System.Drawing.Color.Transparent;
this.lblName.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblName.Location = new System.Drawing.Point(29, 31);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(63, 14);
this.lblName.TabIndex = 9;
this.lblName.Text = "用户名称";
//
// label1
//
this.label1.AutoSize = true;
this.label1.ForeColor = System.Drawing.Color.Brown;
this.label1.Location = new System.Drawing.Point(30, 122);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(167, 12);
this.label1.TabIndex = 15;
this.label1.Text = "注意:点退出按钮退出ERP系统";
//
// txtUserName
//
this.txtUserName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtUserName.Location = new System.Drawing.Point(105, 30);
this.txtUserName.MaxLength = 50;
this.txtUserName.Name = "txtUserName";
searcherPropertyCollector2.ConvertToChineseSpell = true;
tFieldPropertyData3.FieldCaption = "用户id";
tFieldPropertyData3.FieldName = "EmployeeId";
tFieldPropertyData3.FieldWidth = 50;
tFieldPropertyData3.ShowColumn = true;
tFieldPropertyData4.FieldCaption = "用户名称";
tFieldPropertyData4.FieldName = "EmployeeName";
tFieldPropertyData4.FieldWidth = 200;
tFieldPropertyData4.ShowColumn = true;
searcherPropertyCollector2.FieldPropertyList = new ControlLib.inh.TFieldPropertyData[] {
tFieldPropertyData3,
tFieldPropertyData4};
searcherPropertyCollector2.KeyField = "EmployeeId";
searcherPropertyCollector2.QueryField = "EmployeeName";
searcherPropertyCollector2.QuerySQL = "select EmployeeId,EmployeeName from P_EmployeeTab WHERE sign=0 and UseFlag=1";
searcherPropertyCollector2.ReturnMaxCount = 2000;
searcherPropertyCollector2.ReturnValueField = "EmployeeId";
searcherPropertyCollector2.SearchMatchWay = ControlLib.inh.TSearchMatchWay.swFuzzy;
searcherPropertyCollector2.ShowFormHeight = 230;
searcherPropertyCollector2.ShowFormWidth = 230;
searcherPropertyCollector2.SQL = "select top 2000 employeeid,employeename from p_employeetab where sign=0 and useflag" +
"=1";
this.txtUserName.searcherPropertyCollector = searcherPropertyCollector2;
this.txtUserName.Size = new System.Drawing.Size(206, 21);
this.txtUserName.TabIndex = 16;
//
// FrmRelogin
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(351, 196);
this.ControlBox = false;
this.Controls.Add(this.txtUserName);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnQuit);
this.Controls.Add(this.btnLogin);
this.Controls.Add(this.txtPassword);
this.Controls.Add(this.lblPwd);
this.Controls.Add(this.lblName);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FrmRelogin";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "系统登陆";
this.Load += new System.EventHandler(this.FrmRelogin_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnQuit;
private System.Windows.Forms.Button btnLogin;
private System.Windows.Forms.TextBox txtPassword;
private System.Windows.Forms.Label lblPwd;
private System.Windows.Forms.Label lblName;
private System.Windows.Forms.Label label1;
private ControlLib.inh.AutoSearcher txtUserName;
}
}
+43
View File
@@ -0,0 +1,43 @@
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;
using CommonLib;
namespace ERPClient
{
public partial class FrmRelogin : ERPClient.App_Code.FrmLoginBase
{
public FrmRelogin()
{
InitializeComponent();
}
private void btnLogin_Click(object sender, EventArgs e)
{
string strEmployeeId = txtUserName.ReturnValue.ToString();
string strPwd = txtPassword.Text;
if (Login(strEmployeeId, strPwd, txtUserName.Text.Trim(), false))
{
ERPInfo.Instance.ExitResult = ENUMCloseAction.caRelogin;
Close();
}
}
private void btnQuit_Click(object sender, EventArgs e)
{
ERPInfo.Instance.ExitResult = ENUMCloseAction.caClose;
Close();
}
private void FrmRelogin_Load(object sender, EventArgs e)
{
}
}
}
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>