點擊事件觸發此方法
private void selectCurryCode_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
判斷所選是否為空
if (this.SelectBeneficiary == null)
return;
//獲取待選擇項
通過字典獲取數據方法獲取對應數據
var dictList = VineERP.Utils.CommonDictHelper.GetCommonDictList("Currency");
判斷是否存在數據
if (dictList == null || dictList.Count == 0)
return;
構造彈框
frmSelectedDialog<sys_common_dict> dialog = new frmSelectedDialog<sys_common_dict>("Code,CodeName", "代碼,幣種", "50,80");
dialog.AllowMultiSelect = true; //設置多選
獲取控件所分配的窗體
dialog.Parent = this.ParentForm;
//根據當前內容,設置已選項
if (!string.IsNullOrEmpty(this.SelectBeneficiary.CurrencyCode))
{
將已選擇項進行拆分
var codeArr = this.SelectBeneficiary.CurrencyCode.Split(',').ToList();
dialog.SelectedEntities = new List<sys_common_dict>();
默認勾選已選
foreach (var code in codeArr)
{
var dict = dictList.Find(p => p.Code == code);
if (dict != null)
dialog.SelectedEntities.Add(dict);
}
}
//傳遞待選擇項,並返回選擇項並處理
dialog.ShowDialog(dictList, p =>
{
if (p.SelectedEntities == null || p.SelectedEntities.Count == 0)
return;
this.SelectBeneficiary.CurrencyCode = string.Empty;
顯示所有數據
foreach (var dict in p.SelectedEntities)
{
this.SelectBeneficiary.CurrencyCode += string.Format("{0}{1}",
string.IsNullOrEmpty(this.SelectBeneficiary.CurrencyCode) ? "" : ",", dict.Code);
}
});
}
1 private void textBeneficiary_ItemChanged(object sender, EdwFramework.Controls.ChangedEventArgs e) 2 { 3 this.SelectBeneficiary.ChecklistInformation(); 4 } 5 6 /// <summary> 7 /// 彈出幣種選擇框 8 /// </summary> 9 /// <param name="sender"></param> 10 /// <param name="e"></param> 11 private void selectCurryCode_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) 12 { 13 if (this.SelectBeneficiary == null) 14 return; 15 16 //獲取待選擇項 17 var dictList = VineERP.Utils.CommonDictHelper.GetCommonDictList("Currency"); 18 if (dictList == null || dictList.Count == 0) 19 return; 20 21 frmSelectedDialog<sys_common_dict> dialog = new frmSelectedDialog<sys_common_dict>("Code,CodeName", "代碼,幣種", "50,80"); 22 dialog.AllowMultiSelect = true; //設置多選 23 dialog.Parent = this.ParentForm; 24 //根據當前內容,設置已選項 25 if (!string.IsNullOrEmpty(this.SelectBeneficiary.CurrencyCode)) 26 { 27 var codeArr = this.SelectBeneficiary.CurrencyCode.Split(',').ToList(); 28 dialog.SelectedEntities = new List<sys_common_dict>(); 29 foreach (var code in codeArr) 30 { 31 var dict = dictList.Find(p => p.Code == code); 32 if (dict != null) 33 dialog.SelectedEntities.Add(dict); 34 } 35 } 36 //傳遞待選擇項,並返回選擇項並處理 37 dialog.ShowDialog(dictList, p => 38 { 39 if (p.SelectedEntities == null || p.SelectedEntities.Count == 0) 40 return; 41 42 this.SelectBeneficiary.CurrencyCode = string.Empty; 43 foreach (var dict in p.SelectedEntities) 44 { 45 this.SelectBeneficiary.CurrencyCode += string.Format("{0}{1}", 46 string.IsNullOrEmpty(this.SelectBeneficiary.CurrencyCode) ? "" : ",", dict.Code); 47 } 48 49 }); 50 }
彈框例子
private void sel_CustomCodeList_Click(object sender, EventArgs e)
{
if (this.CurrCostParam == null || this.ViewState == ModelViewState.Normal)
return;
var RateService = EngineContext.Current.Resolve<IRepository<Customer>>();
string companyid = User.CompanyId;
var tempList = RateService.Search(p=>p.Companyid == companyid,false);
frmSelectedDialog<Customer> dialog = new frmSelectedDialog<Customer>("CustomCode,ShortName", "代碼,名稱", "100,120");
dialog.AllowMultiSelect = true;
dialog.Parent = this.ParentForm;
//根據當前內容,設置已選項
if(!string.IsNullOrEmpty(this.CurrCostParam.CustomCodeList))
{
var codeArr = this.CurrCostParam.CustomCodeList.Split(',').ToList();
dialog.SelectedEntities = new List<Customer>();
foreach(var code in codeArr)
{
var dict = tempList.Find(p => p.CustomCode == code);
if (dict != null)
dialog.SelectedEntities.Add(dict);
}
}
//傳遞帶選項,並返回選擇項並處理
dialog.ShowDialog(tempList,p=>
{
this.sel_CustomCodeList.Items.Clear();
this.CurrCostParam.CustomCodeList =string.Empty;
if (p.SelectedEntities == null || p.SelectedEntities.Count == 0)
return;
foreach(var dict in p.SelectedEntities)
{
this.sel_CustomCodeList.Items.Add(dict.CustomCode);
this.CurrCostParam.CustomCodeList +=string.Format("{0}{1}",
string.IsNullOrEmpty(this.CurrCostParam.CustomCodeList) ? "" : ",", dict.CustomCode);
}
});
}
排除已選過的客戶
private List<Customer> custList = new List<Customer>();
/// <summary>
/// 客戶代碼選擇事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sel_CustomCodeList_Click(object sender, EventArgs e)
{
if (this.CurrCostParam == null || this.ViewState == ModelViewState.Normal)
return;
custList = VineERP.Utils.CustomerHelper.GetAllCustom(this.CurrCostParam.Companyid);
if (custList == null || custList.Count == 0)
{
MessageDxUtil.ShowError("客戶信息不存在");
return;
}
#region 排除已設置客戶
string sql = string.Format(@"select fdw.List(a.CustomCodeList)
from tblCostParam a
where a.CustomCodeList !='{0}' and a.Companyid='{1}'",
this.CurrCostParam.CustomCodeList, this.CurrCostParam.Companyid);
var useCusotm = EdwFramework.Core.SqlClientFactory.Instance.ExecuteScalar(sql);
if (!string.IsNullOrEmpty(useCusotm))
{
var useCustlist = useCusotm.Split(',').ToList();
foreach (var cust in useCustlist)
{
if (string.IsNullOrEmpty(cust))
continue;
custList.RemoveAll(p => p.CustomCode == cust);
}
}
if (custList == null || custList.Count == 0)
{
MessageDxUtil.ShowError("所有客戶都已完成成本參數設定");
return;
}
#endregion
frmSelectedDialog<Customer> dialog = new frmSelectedDialog<Customer>("CustomCode,ShortName", "代碼,名稱", "100,120");
dialog.AllowMultiSelect = true;
dialog.Parent = this.ParentForm;
//根據當前內容,設置已選項
if(!string.IsNullOrEmpty(this.CurrCostParam.CustomCodeList))
{
var codeArr = this.CurrCostParam.CustomCodeList.Split(',').ToList();
dialog.SelectedEntities = new List<Customer>();
foreach(var code in codeArr)
{
var dict = custList.Find(p => p.CustomCode == code);
if (dict != null)
dialog.SelectedEntities.Add(dict);
}
}
//傳遞帶選項,並返回選擇項並處理
dialog.ShowDialog(custList, p =>
{
this.sel_CustomCodeList.Items.Clear();
this.CurrCostParam.CustomCodeList =string.Empty;
if (p.SelectedEntities == null || p.SelectedEntities.Count == 0)
return;
foreach(var dict in p.SelectedEntities)
{
this.sel_CustomCodeList.Items.Add(dict.CustomCode);
this.CurrCostParam.CustomCodeList +=string.Format("{0}{1}",
string.IsNullOrEmpty(this.CurrCostParam.CustomCodeList) ? "" : ",", dict.CustomCode);
}
});
}
