#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
|
{
|
/// <summary>
|
/// 返回的数据
|
/// </summary>
|
/// <param name="RetrunStr"></param>
|
public delegate void OnReturnString(string RetrunStr);
|
|
/// <summary>
|
/// 标准编号名称选择框
|
/// </summary>
|
public partial class ucCodeName : UserControl
|
{
|
private OnReturnString _OnRowClick;
|
|
private string ReturnFileName;
|
|
public ucCodeName()
|
{
|
InitializeComponent();
|
}
|
|
public PopupContainerControl PopupContainer => popupContainerControl1;
|
|
/// <summary>
|
/// 绑定数据源
|
/// </summary>
|
/// <param name="dt">数据源</param>
|
/// <param name="colName1">列1的表头名称</param>
|
/// <param name="colName2">列2的表头名称</param>
|
/// <param name="FileName1">列1的数据源字段</param>
|
/// <param name="FileName2">列2的数据源字段</param>
|
/// <param name="returnFileName">返回的字段</param>
|
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;
|
}
|
}
|
}
|