#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
}
}