基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
/******************************
|
||||
* 说明:多选界面
|
||||
* 创建人:龚宇超
|
||||
* 创建日期:2018-03-20
|
||||
* 修改人:
|
||||
* 修改日期:
|
||||
* 修改备注:
|
||||
* 版本:1.0.0.0
|
||||
******************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using Lskj.Control.Model;
|
||||
using DevExpress.XtraGrid.Columns;
|
||||
using DevExpress.XtraEditors.Repository;
|
||||
using DevExpress.Data;
|
||||
using DevExpress.XtraGrid.Views.Grid;
|
||||
using DevExpress.XtraGrid.Menu;
|
||||
using DevExpress.Utils.Menu;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Data;
|
||||
using System.Data.SqlClient;
|
||||
using Lskj.Util;
|
||||
using Lskj.Business;
|
||||
using Lskj.Model;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Reflection;
|
||||
using DevExpress.Data.Filtering;
|
||||
using Lskj.Core;
|
||||
|
||||
namespace Lskj.Control.AutoSelectControlUp
|
||||
{
|
||||
public partial class AutoSelectControl : BaseForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 隐藏值
|
||||
/// </summary>
|
||||
/// <value>The edit value.</value>
|
||||
public string EditValue { get; set; }
|
||||
/// <summary>
|
||||
/// 显示值
|
||||
/// </summary>
|
||||
/// <value>The edit text.</value>
|
||||
public string EditText { get; set; }
|
||||
/// <summary>
|
||||
/// 绑定ValueMember
|
||||
/// </summary>
|
||||
public string ValueMember { get; set; }
|
||||
/// <summary>
|
||||
/// 隐藏值字段
|
||||
/// </summary>
|
||||
public string ValueField { get; set; }
|
||||
/// <summary>
|
||||
/// 显示值字段
|
||||
/// </summary>
|
||||
public string TextField { get; set; }
|
||||
/// <summary>
|
||||
/// 查询sql
|
||||
/// </summary>
|
||||
public string SourceSQL { get; set; }
|
||||
/// <summary>
|
||||
/// 显示值字段
|
||||
/// </summary>
|
||||
public DataTable DataSource { get; set; }
|
||||
/// <summary>
|
||||
/// 备注字段
|
||||
/// </summary>
|
||||
public string RemarkField = "remark";
|
||||
public AutoSelectControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:窗口加载</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-03-20 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
|
||||
base.OnLoad(e);
|
||||
this.SetReadOnlyColumns();
|
||||
labObscure.TextEdit.KeyDown += new KeyEventHandler(OnTextEditKeyDown);
|
||||
this.gcMain.DoubleClick += new EventHandler(OnRowDoubleClick);
|
||||
}
|
||||
/// <summary>
|
||||
/// 双击选中值
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnRowDoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
DataRow dataRow= this.gcMain.GetFocusedDataRow();
|
||||
this.EditValue = dataRow[ValueField]+"";
|
||||
this.EditText = dataRow[TextField]+"";
|
||||
this.DialogResult = DialogResult.OK;
|
||||
this.Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定回车搜索事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnTextEditKeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
string expand = "and (";
|
||||
foreach (GridColumn gridColumn in DataSource.Columns)
|
||||
{
|
||||
expand += gridColumn.FieldName + " like '%{0}%' or ";
|
||||
}
|
||||
expand += ")";
|
||||
expand = string.Format(expand, labObscure.TextEdit.Text);
|
||||
this.gcMain.GridControl.DataSource = BaseImpl.GetDataTableResult(SourceSQL + expand);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:设置只读列</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-03-20 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void SetReadOnlyColumns()
|
||||
{
|
||||
this.gcMain.Columns.Clear();
|
||||
if (this.DataSource != null)
|
||||
{
|
||||
GridColumn valueColumn = new GridColumn();
|
||||
valueColumn.FieldName = valueColumn.Name = ValueField;
|
||||
valueColumn.Caption = "编码";
|
||||
valueColumn.Width = 200;
|
||||
//valueColumn.Visible = true;
|
||||
valueColumn.Visible = ValueMember.Substring(0, 1) != "_";
|
||||
valueColumn.OptionsColumn.AllowEdit = false;
|
||||
valueColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
|
||||
|
||||
GridColumn textColumn = new GridColumn();
|
||||
textColumn.FieldName = textColumn.Name = TextField;
|
||||
textColumn.Caption = "名称";
|
||||
textColumn.Width = 350;
|
||||
//textColumn.Visible = true;
|
||||
textColumn.Visible = TextField.Substring(0, 1) != "_";
|
||||
textColumn.OptionsColumn.AllowEdit = false;
|
||||
textColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
|
||||
|
||||
this.gcMain.Columns.AddRange(new GridColumn[] { valueColumn, textColumn });
|
||||
|
||||
if (DataSource.Columns.IndexOf("remark") != -1)
|
||||
{
|
||||
DataColumn column = DataSource.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName.ToLower() == RemarkField);
|
||||
if (column != null) RemarkField = column.ColumnName;
|
||||
|
||||
GridColumn remarkColumn = new GridColumn();
|
||||
remarkColumn.Name = remarkColumn.FieldName = RemarkField;
|
||||
remarkColumn.Caption = "备注";
|
||||
remarkColumn.Visible = true;
|
||||
remarkColumn.Width = 120;
|
||||
//字段第一个字符为下划线代表不显示
|
||||
if (RemarkField.Substring(0, 1) == "_")
|
||||
remarkColumn.Visible = false;
|
||||
|
||||
remarkColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
|
||||
this.gcMain.Columns.Add(remarkColumn);
|
||||
}
|
||||
|
||||
foreach (DataColumn dcol in DataSource.Columns)
|
||||
{
|
||||
if ((dcol.ColumnName.Substring(0, 1) != "_") && (dcol.ColumnName.ToLower() != ValueField.ToLower()) && (dcol.ColumnName.ToLower() != TextField.ToLower()) && ((int)dcol.ColumnName[0] > 127))
|
||||
{
|
||||
GridColumn otherColumn = new GridColumn();
|
||||
otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName;
|
||||
otherColumn.Visible = true;
|
||||
otherColumn.Width = 150;
|
||||
otherColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
|
||||
this.gcMain.Columns.Add(otherColumn);
|
||||
}
|
||||
}
|
||||
// this.gcDetail.GridControl.DataSource = this.gridControl1.DataSourceTable().Clone();
|
||||
// //this.gcDetail.SelectAll();
|
||||
// //this.gcDetail.DeleteSelectedRows();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user