public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.WinFromsPath, "EditDialogs"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "dlg" + dt.TitleCaseName + "Edit.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ".ServiceReference1;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace + ".EditDialogs"); sw.WriteLine("{"); sw.WriteLine(" public partial class dlg" + dt.TitleCaseName + "Edit : MyDialog"); sw.WriteLine(" {"); sw.WriteLine(" public dlg" + dt.TitleCaseName + "Edit()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 修改前保存当前实例的副本,以便取消时回退。"); sw.WriteLine(" " + dt.TitleCaseName + " " + dt.FieldCaseName + "Backup = new " + dt.TitleCaseName + "();"); sw.WriteLine(" // " + dt.TitleCaseName + ",Wcf服务代理对象"); sw.WriteLine(" MainServiceProxy<" + dt.TitleCaseName + "> wcfProxy = MainServiceProxy<" + dt.TitleCaseName + ">.Instance;"); sw.WriteLine(""); sw.WriteLine(" private DialogEditType _edittype = DialogEditType.Add;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 对话框的编辑类型,新增或者修改。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public DialogEditType EditType"); sw.WriteLine(" {"); sw.WriteLine(" get { return this._edittype; }"); sw.WriteLine(" set { this._edittype = value; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private System.Windows.Forms.BindingSource " + dt.FieldCaseName + "BindingSource;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 对应类型的数据集绑定对象。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public System.Windows.Forms.BindingSource " + dt.TitleCaseName + "BindingSource"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dt.FieldCaseName + "BindingSource; }"); sw.WriteLine(" set { this." + dt.FieldCaseName + "BindingSource = value; }"); sw.WriteLine(" }"); sw.WriteLine(""); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" private IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentFieldCaseName + "list;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// :TCustomer的数据集绑定对象。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentTitleCaseName + "List"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dr.ParentFieldCaseName + "list; }"); sw.WriteLine(" set { this." + dr.ParentFieldCaseName + "list = value; }"); sw.WriteLine(" }"); } sw.WriteLine(""); sw.WriteLine(" private void dlg" + dt.TitleCaseName + "Edit_Load(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource == null)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowErr(\"必需的数据集没有赋值!\");"); sw.WriteLine(" }"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.CurrentChanged += new EventHandler(" + dt.TitleCaseName + "BindingSource_CurrentChanged);"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.CurrentItemChanged += new EventHandler(" + dt.TitleCaseName + "BindingSource_CurrentItemChanged);"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1." + dr.ParentTitleCaseName + "List = this." + dr.ParentTitleCaseName + "List;"); } sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".BindingSource = this." + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1." + dt.TitleCaseName + "BindingSource = this." + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" if (this.EditType == DialogEditType.Add)"); sw.WriteLine(" {"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = false;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.AddNew();"); sw.WriteLine(" this.SetDefaultProperty((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else if (this.EditType == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = true;"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" this." + dt.FieldCaseName + "Backup = ObjectHelper<" + dt.TitleCaseName + ">.Clone((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" void " + dt.TitleCaseName + "BindingSource_CurrentItemChanged(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 如果有修改,就控制数据导航条的使用"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = false;"); sw.WriteLine(" this.btnCancel.Enabled = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void " + dt.TitleCaseName + "BindingSource_CurrentChanged(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.FieldCaseName + "Backup = ObjectHelper<" + dt.TitleCaseName + ">.Clone((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" // 取消修改"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" {"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnSave_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.EndEdit();"); sw.WriteLine(" if (this.uc" + dt.TitleCaseName + "Detail1.ValidateChildren(ValidationConstraints.TabStop) == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (this._edittype == DialogEditType.Add)"); sw.WriteLine(" {"); sw.WriteLine(" // 保存对象到数据库"); sw.WriteLine(" " + dt.TitleCaseName + " " + dt.ParamCaseName + " = (" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current;"); sw.WriteLine(" wcfProxy.Save(ref " + dt.ParamCaseName + ");"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource[this." + dt.TitleCaseName + "BindingSource.Position] = " + dt.ParamCaseName + ";"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else if (this._edittype == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" " + dt.TitleCaseName + " " + dt.ParamCaseName + " = (" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current;"); sw.WriteLine(" if (" + dt.ParamCaseName + ".IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" // 更新对象到数据库"); sw.WriteLine(" wcfProxy.Update(ref " + dt.ParamCaseName + "," + dt.FieldCaseName + "Backup." + dt.PrimaryKey.Columns[0].TitleCaseName + ");"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource[this." + dt.TitleCaseName + "BindingSource.Position] = " + dt.ParamCaseName + ";"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = true;"); sw.WriteLine(" // 下一条"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Position == this." + dt.TitleCaseName + "BindingSource.Count - 1)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.AddNew();"); sw.WriteLine(" this.SetDefaultProperty((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" this._edittype = DialogEditType.Add;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = false;"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.MoveNext();"); sw.WriteLine(" this._edittype = DialogEditType.Edit;"); sw.WriteLine(" }"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnCancel_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.EndEdit();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"是否确认取消保存前的所有操作!\") == false)"); sw.WriteLine(" {"); sw.WriteLine(" return;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" if (this._edittype == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" // 取消修改"); sw.WriteLine(" int i = this." + dt.TitleCaseName + "BindingSource.Position;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.Insert(i + 1, this." + dt.FieldCaseName + "Backup);"); sw.WriteLine(" }"); sw.WriteLine(" this._edittype = DialogEditType.Edit;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" {"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = true;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.ErrorProvider.Clear();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnClose_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this.Close();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void dlg" + dt.TitleCaseName + "Edit_FormClosing(object sender, FormClosingEventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" if (this._edittype == DialogEditType.Add)"); sw.WriteLine(" {"); sw.WriteLine(" // 新增退出判断"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"新增的数据还未保存,您是否确认退出,选择\\\"是\\\"将不保存数据,并退出编辑界面!\") == true)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" else if (this._edittype == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" // 修改退出判断"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"修改的数据还未保存,您是否确认退出,选择\\\"是\\\"将不保存数据,并退出编辑界面!\") == true)"); sw.WriteLine(" {"); sw.WriteLine(" int i = this." + dt.TitleCaseName + "BindingSource.Position;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.Insert(i + 1, this." + dt.FieldCaseName + "Backup);"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void bindingNavigator" + dt.TitleCaseName + "_MouseEnter(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" foreach (Control ctl in this.uc" + dt.TitleCaseName + "Detail1.Controls)"); sw.WriteLine(" {"); sw.WriteLine(" ComboBox cbb = ctl as ComboBox;"); sw.WriteLine(" if (cbb != null && cbb.Focused == true)"); sw.WriteLine(" {"); sw.WriteLine(" this.btnSave.Focus();"); sw.WriteLine(" break;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.EndEdit();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void SetDefaultProperty(" + dt.TitleCaseName + " " + dt.ParamCaseName + ")"); sw.WriteLine(" {"); foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { switch (dc.FieldType) { case "DateTime?": sw.WriteLine(" " + dt.ParamCaseName + "." + dc.TitleCaseName + " = DateTime.Now;"); break; } } } foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" " + dt.ParamCaseName + "." + dr.ParentTitleCaseName + " = new " + dr.ParentTitleCaseName + "();"); } sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.ConstrolsDataDefault();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion EditDialogsDesignerCoder.Write(dt); ResourceFileCoder.Write(Path.Combine(path, "dlg" + dt.TitleCaseName + "Edit.resx")); }
public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.WinFromsPath, "ManagerForms"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "frm" + dt.TitleCaseName + "Mng.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine(""); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ".ServiceReference1;"); sw.WriteLine("using " + BaseParams.WinFromsNameSpace + ".EditDialogs;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace + ".ManagerForms"); sw.WriteLine("{"); sw.WriteLine(" public partial class frm" + dt.TitleCaseName + "Mng : MyForm"); sw.WriteLine(" {"); sw.WriteLine(" public frm" + dt.TitleCaseName + "Mng()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 创建数据结构。"); sw.WriteLine(" IList<" + dt.TitleCaseName + "> " + dt.ParamCaseName + "List = new List<" + dt.TitleCaseName + ">();"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentTitleCaseName + "List = new List<" + dr.ParentTable.TitleCaseName + ">();"); } sw.WriteLine(" // " + dt.TitleCaseName + ",Wcf服务代理对象"); sw.WriteLine(" MainServiceProxy<" + dt.TitleCaseName + "> wcfProxy = MainServiceProxy<" + dt.TitleCaseName + ">.Instance;"); sw.WriteLine(""); sw.WriteLine(" private void frm" + dt.TitleCaseName + "Mng_Load(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 转换成可排序的数据对象"); sw.WriteLine(" SortableBindingList<" + dt.TitleCaseName + "> sb" + dt.TitleCaseName + "List = new SortableBindingList<" + dt.TitleCaseName + ">(" + dt.ParamCaseName + "List);"); sw.WriteLine(" " + dt.TitleCaseName + "BindingSource.DataSource = sb" + dt.TitleCaseName + "List;"); sw.WriteLine(" // 绑定数据到控件"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1." + dt.TitleCaseName + "BindingSource = " + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" // 刷新状态数据"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" "); sw.WriteLine(" }"); sw.WriteLine(" "); sw.WriteLine(" private void btnSelect_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); if (dt.PrimaryKey != null) { sw.WriteLine(" string par = this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Text.Trim();"); sw.WriteLine(" // 查询数据"); sw.WriteLine(" List<object> ps = new List<object>();"); sw.WriteLine(" string condi = \"\";"); sw.WriteLine(" if (this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Text.Trim() != \"\")"); sw.WriteLine(" {"); sw.WriteLine(" condi = \" where " + dt.FieldCaseName + "." + dt.PrimaryKey.Columns[0].TitleCaseName + " like ?\";"); sw.WriteLine(" ps.Add(\"%\" + par + \"%\");"); sw.WriteLine(" }"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" Paging paging = this.ucPaging1.DataPaging;"); sw.WriteLine(" paging.CurrentPage = (sender is Paging) ? paging.CurrentPage : 1;"); sw.WriteLine(" " + dt.ParamCaseName + "List = wcfProxy.GetObjectByHqlCondi(condi + \" order by " + dt.FieldCaseName + "." + dt.PrimaryKey.Columns[0].TitleCaseName + " asc\", QueryType.hql_pnt, ref paging, ps);"); sw.WriteLine(" this.ucPaging1.DataPaging = paging;"); sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); } sw.WriteLine(" // 转换成可排序的数据对象"); sw.WriteLine(" SortableBindingList<" + dt.TitleCaseName + "> sb" + dt.TitleCaseName + "List = new SortableBindingList<" + dt.TitleCaseName + ">(" + dt.ParamCaseName + "List);"); sw.WriteLine(" // 绑定数据到控件"); sw.WriteLine(" " + dt.TitleCaseName + "BindingSource.DataSource = sb" + dt.TitleCaseName + "List;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1." + dt.TitleCaseName + "BindingSource = " + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnAdd_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 获得主表数据集合"); sw.WriteLine(" try"); sw.WriteLine(" {"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" if (" + dr.ParentTitleCaseName + "List.Count == 0)"); sw.WriteLine(" {"); sw.WriteLine(" " + dr.ParentTitleCaseName + "List = MainServiceProxy<" + dr.ParentTable.TitleCaseName + ">.Instance.GetObjectAll(QueryType.hql_slf);"); sw.WriteLine(" }"); } sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" // 打开新增界面"); sw.WriteLine(" dlg" + dt.TitleCaseName + "Edit dlg = new dlg" + dt.TitleCaseName + "Edit();"); sw.WriteLine(" dlg.EditType = DialogEditType.Add;"); sw.WriteLine(" dlg." + dt.TitleCaseName + "BindingSource = this." + dt.TitleCaseName + "BindingSource;"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" dlg." + dr.ParentTitleCaseName + "List = this." + dr.ParentTitleCaseName + "List;"); } sw.WriteLine(" int tempCount = this." + dt.TitleCaseName + "BindingSource.Count;"); sw.WriteLine(" dlg.ShowDialog();"); sw.WriteLine(" this.ucPaging1.DataPaging.RowCount += this." + dt.TitleCaseName + "BindingSource.List.Count - tempCount;"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnEdit_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 获得主表数据集合"); sw.WriteLine(" try"); sw.WriteLine(" {"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" if (" + dr.ParentTitleCaseName + "List.Count == 0)"); sw.WriteLine(" {"); sw.WriteLine(" " + dr.ParentTitleCaseName + "List = MainServiceProxy<" + dr.ParentTable.TitleCaseName + ">.Instance.GetObjectAll(QueryType.hql_slf);"); sw.WriteLine(" }"); } sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" // 打开修改界面"); sw.WriteLine(" dlg" + dt.TitleCaseName + "Edit dlg = new dlg" + dt.TitleCaseName + "Edit();"); sw.WriteLine(" dlg.EditType = DialogEditType.Edit;"); sw.WriteLine(" dlg." + dt.TitleCaseName + "BindingSource = this." + dt.TitleCaseName + "BindingSource;"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" dlg." + dr.ParentTitleCaseName + "List = this." + dr.ParentTitleCaseName + "List;"); } sw.WriteLine(" int tempCount = this." + dt.TitleCaseName + "BindingSource.Count;"); sw.WriteLine(" dlg.ShowDialog();"); sw.WriteLine(" this.ucPaging1.DataPaging.RowCount += this." + dt.TitleCaseName + "BindingSource.List.Count - tempCount;"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnDelete_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 删除选中的所有行"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"您确认删除所有选择的行吗?\"))"); sw.WriteLine(" {"); sw.WriteLine(" List<" + dt.TitleCaseName + "> delList = new List<" + dt.TitleCaseName + ">();"); sw.WriteLine(" foreach (System.Windows.Forms.DataGridViewRow dvrow in this.uc" + dt.TitleCaseName + "Grid1.dgv" + dt.TitleCaseName + ".SelectedRows)"); sw.WriteLine(" {"); sw.WriteLine(" delList.Add((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource[dvrow.Index]);"); sw.WriteLine(" }"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfProxy.Delete(delList);"); sw.WriteLine(" foreach (" + dt.TitleCaseName + " delObj in delList)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.Remove(delObj);"); sw.WriteLine(" this.ucPaging1.DataPaging.RowCount += -1;"); sw.WriteLine(" }"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Count == 0)"); sw.WriteLine(" {"); sw.WriteLine(" btnSelect_Click(this.ucPaging1.DataPaging, new EventArgs());"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnClose_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this.Close();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" private void FromControlsStateFlash()"); sw.WriteLine(" {"); sw.WriteLine(" this.btnEdit.Enabled |= (this." + dt.TitleCaseName + "BindingSource.Count > 0);"); sw.WriteLine(" this.btnDelete.Enabled |= (this." + dt.TitleCaseName + "BindingSource.Count > 0);"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Position >= 0)"); sw.WriteLine(" {"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.dgv" + dt.TitleCaseName + ".Rows[this." + dt.TitleCaseName + "BindingSource.Position].Selected = true;"); sw.WriteLine(" }"); //sw.WriteLine(" this.ucPaging1.DataPaging.PageSize = 25; "); sw.WriteLine(" this.ucPaging1.PagingReflash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void ucPaging1_PagingChanged(object sender, " + BaseParams.UserControlsNameSpace + ".Utility.MyPagingEventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" btnSelect_Click(this.ucPaging1.DataPaging, new EventArgs());"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion ManagerFormDesignerCoder.Write(dt); ResourceFileCoder.Write(Path.Combine(path, "frm" + dt.TitleCaseName + "Mng.resx")); }