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