#region
using System;
using System.ComponentModel;
using System.Data;
using System.Windows.Forms;
using CSFrameworkV5.Common;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Columns;
#endregion
namespace CSFrameworkV5.Library.UserControls
{
///
/// 返回的数据
///
///
public delegate void OnReturnString(string RetrunStr);
///
/// 标准编号名称选择框
///
public partial class ucCodeName : UserControl
{
private OnReturnString _OnRowClick;
private string ReturnFileName;
public ucCodeName()
{
InitializeComponent();
}
public PopupContainerControl PopupContainer => popupContainerControl1;
///
/// 绑定数据源
///
/// 数据源
/// 列1的表头名称
/// 列2的表头名称
/// 列1的数据源字段
/// 列2的数据源字段
/// 返回的字段
public void DataSource(DataTable dt, string[] colNames,
string[] FileNames, string returnFileName)
{
try
{
gv_Popup.Columns.Clear();
for (var i = 0; i < colNames.Length; i++)
{
var col = new GridColumn();
col.Caption = colNames[i];
col.FieldName = FileNames[i];
col.Visible = true;
col.VisibleIndex = gv_Popup.Columns.Count;
gv_Popup.Columns.Add(col);
}
ReturnFileName = returnFileName;
gc_PopUp.DataSource = dt;
}
catch (Exception e)
{
Msg.Warning(e.Message);
}
}
private void gc_PopUp_Click(object sender, EventArgs e)
{
if (_OnRowClick != null)
{
popupContainerControl1.Hide();
var rowHandle = gv_Popup.FocusedRowHandle;
if (rowHandle < 0) return;
var dr = (gc_PopUp.DataSource as DataTable).Rows[rowHandle];
_OnRowClick(ConvertEx.ToString(dr[ReturnFileName]));
if (popupContainerControl1.OwnerEdit != null)
popupContainerControl1.OwnerEdit.ClosePopup();
}
}
[Description("当点击一条记录时发生。")]
public event OnReturnString OnRowClick
{
add => _OnRowClick = value;
remove => _OnRowClick = null;
}
}
}