#region
using System;
using System.Data;
using System.Drawing;
using CSFrameworkV5.Business;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Language;
using CSFrameworkV5.Library.UserControls;
using CSFrameworkV5.Models;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid.Views.Base;
#endregion
namespace CSFrameworkV5.Library
{
public partial class frmSystemSettingsByUser : frmBaseDataForm
{
private DataRow _R;
private ucPopupList _ucPopupList;
public frmSystemSettingsByUser()
{
InitializeComponent();
_ucPopupList = new ucPopupList();
}
public virtual void DoRefreshData(IButtonInfo sender)
{
var dt = CommonData.GetSystemSettingsByUser(
Loginer.CurrentUser.DBID, Loginer.CurrentUser.Account);
gcSummary.DataSource = dt;
}
///
/// 保存数据
///
///
public override void DoSave(IButtonInfo sender)
{
UpdateLastControl();
if (gcSummary.DataSource == null) return;
var dt = gcSummary.DataSource as DataTable;
dt = dt.GetChanges();
if (dt != null)
{
var bll = new bllBaseDataDict();
bll.DataDictBridge =
BridgeFactory.CreateDataDictBridge(
typeof(sys_SystemSettingsByUser));
var ok = bll.Update(dt);
if (ok)
{
//重新加载系统参数类
var data = CommonData.GetSystemSettings4Program(
Loginer.CurrentUser.DBID,
Loginer.CurrentUser.Account); //系统配置
SystemSettings.Current.Load(data);
(gcSummary.DataSource as DataTable).AcceptChanges();
Msg.ShowInformation("保存成功!请重新打开数据窗体参数才能生效。");
}
else
{
Msg.Warning("保存发生错误!");
}
}
else
{
Msg.Warning("没有修改数据,不需要保存!");
}
}
private void frmSystemSettings_Load(object sender, EventArgs e)
{
InitButtons();
rep_List.PopupFormSize = new Size(120, 80);
_ucPopupList.OnItemClick += ucPopupList1_OnItemClick;
DoRefreshData(null);
}
private void gvSummary_FocusedColumnChanged(object sender,
FocusedColumnChangedEventArgs e)
{
LoadPopupControl();
}
private void gvSummary_FocusedRowChanged(object sender,
FocusedRowChangedEventArgs e)
{
LoadPopupControl();
}
public override void InitButtons()
{
var btnClose = ToolbarRegister.CreateButton("btnClose",
LanLib.Get("关闭"), ToolBarGroup.关闭窗体,
Globals.LoadBitmap("32_Exit.png"), new Size(57, 28), false,
true,
DoClose);
_buttons.AddButton(btnClose);
var btnRefresh = ToolbarRegister.CreateButton("btnRefreshDataDict",
LanLib.Get("刷新数据"), ToolBarGroup.数据操作,
Globals.LoadBitmap("32_Refresh.png"), new Size(57, 28), true,
true, DoRefreshData);
_buttons.AddButton(btnRefresh);
var btnSave = ToolbarRegister.CreateButton("btnSave",
LanLib.Get("保存"), ToolBarGroup.数据操作,
Globals.LoadBitmap("32_Save.png"), new Size(57, 28), false,
true, DoSave);
Buttons.AddButton(btnSave);
}
private void LoadPopupControl()
{
_R = gvSummary.GetFocusedDataRow();
if (_R != null)
{
var list =
ConvertEx.ToString(_R[sys_SystemSettingsByUser.ParamList]);
var items = list.Split(new[] { ';' },
StringSplitOptions.RemoveEmptyEntries);
if (items.Length > 0)
{
rep_List.TextEditStyle = TextEditStyles.DisableTextEditor;
rep_List.PopupControl = _ucPopupList.PopupContainer;
_ucPopupList.InitDataSource(items);
}
else
{
rep_List.TextEditStyle = TextEditStyles.Standard;
rep_List.PopupControl = null;
_ucPopupList.InitDataSource(new string[] { });
}
}
}
private void menuSave_Click(object sender, EventArgs e)
{
DoSave(null);
}
private void ucPopupList1_OnItemClick(object item)
{
gvSummary.SetFocusedRowCellValue(
sys_SystemSettingsByUser.ParamValue, item);
}
}
}