#region using System; using System.Data; using CSFrameworkV5.Business; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Language; using CSFrameworkV5.Library; using CSFrameworkV5.Library.CommonClass; #endregion namespace CSFrameworkV5.SystemModule { /// /// Language的资料管理窗体,由代码生成器(Code Generator)自动生成 /// public partial class frmLanguage : frmBaseDataDictionary { private bllLanguage _BLLInstance; public frmLanguage() { InitializeComponent(); } private void btnBaiDuApi_Click(object sender, EventArgs e) { if (gvSummary.RowCount > 0) { if (Msg.AskQuestion($"共{gvSummary.RowCount}条记录,确定要翻译吗?") == false) return; var count = 0; var failed = 0; try { frmWaitingEx.ShowMe(this); //选择语言界面 var lan = frmBaiduTrans.Execute(); if (string.IsNullOrWhiteSpace(lan)) return; //没选择语言,或取消操作 //对应sys_Language的语言字段 var field = "ENG"; if (lan == "cht") field = "CHT"; //繁体 if (lan == "en") field = "ENG"; //英文 if (lan == "vie") field = "VN"; //越南文 var tran = BaiduTrans.CreateDefault(); var dt = gcSummary.DataSource as DataTable; foreach (DataRow r in dt.Rows) { r[field] = tran.Tran(r["CHS"].ToStringEx(), "zh", lan); if (DoSaveRow(r)) count++; else failed++; } } finally { frmWaitingEx.HideMe(this); } Msg.ShowInformation($"翻译完成!成功{count},失败{failed}条记录!"); } else { Msg.Warning("表格没记录!"); } } private void btnEmpty_Click(object sender, EventArgs e) { ClearContainerEditorText(pnlSearch); } private void btnQuery_Click(object sender, EventArgs e) { //搜索数据 try { frmWaitingEx.ShowMe(this); var type = txt_LanType.EditValue.ToStringEx(); if (type == "All") type = ""; var dt = _BLLInstance.Query( ConvertEx.ToString(txt_ObjectID.EditValue), ConvertEx.ToString(txt_CHS.EditValue), ConvertEx.ToString(txt_CHT.EditValue), ConvertEx.ToString(txt_ENG.EditValue), type); DoBindingSummaryGrid(dt); //绑定主表的Grid ShowSummaryPage(true); //显示Summary页面. } finally { frmWaitingEx.HideMe(this); } if (gvSummary.RowCount == 0) Msg.Warning("没有找到数据!"); } private void btnRefreshLan_Click(object sender, EventArgs e) { try { frmWaitingEx.ShowMe(this); LanLib.LanguageData.Load(); Msg.ShowInformation("更新缓存数据成功!"); } finally { frmWaitingEx.HideMe(this); } } protected override void ButtonStateChanged(UpdateType currentState) //按钮状态改变时触发的事件 { base.ButtonStateChanged(currentState); if (currentState == UpdateType.Modify) { txtObjectID.Enabled = false; //修改状态下不允许修改主键的数据 txtObjectID.Properties.ReadOnly = true; //修改状态下不允许修改主键的数据 } if (currentState == UpdateType.Add) txtObjectID.Enabled = true; txtCreateTime.Properties.ReadOnly = true; } protected override void DoAfterSave(DataTable dataTable) { base.DoAfterSave(dataTable); //修改了数据,重新加载语言包 //LanLib.LanguageData.Load(); } /// /// 绑定修改页面中所有输入框的数据源 /// /// 数据源 protected override void DoBindingSummaryEditor(DataTable summary) { DoBindingEditorPanel(pcDetailEditor, summary); //在此可绑定其它自定义的输入框,参考frmCustomer的DoBindingSummaryEditor方法 } public override void DoSave(IButtonInfo sender) { base.DoSave(sender); } private bool DoSaveRow(DataRow row) { try { var dtSave = row.Table.GetChanges(); if (dtSave != null) if (_BLLInstance.Update(dtSave)) { row.Table.AcceptChanges(); return true; } return false; } catch { row.Table.RejectChanges(); return false; } } private void frmLanguage_Load(object sender, EventArgs e) { InitializeForm(); //自定义初始化操作 SetLanguage(); } protected override void InitializeForm() { _SummaryView = new DevGridView( gvSummary); //实例化数据主视图,此接口可支持不同的主视图,比如Grid,TreeList. //_ActiveEditor = txtObjectID;//进入修改状态,显示第一个焦点的输入框,可以不设置 //_KeyEditor = txtObjectID;//主键字段输入框,可以不设置 _DetailGroupControl = pcDetailEditor; //修改页面所有输入框的容器 _BLL = new bllLanguage(); //实例化基类业务逻辑层 _BLLInstance = _BLL as bllLanguage; //本窗体的业务层对象引用 base.InitializeForm(); #region 以下代码全自动生成,请调整排版和顺序 #endregion } protected override void ShowSummary() { //重写此方法打开窗体时不显示任何数据 } #region 自动生成的事件或方法的主体部份 #endregion } }