C# code
/// <summary>
/// 绑定LookupEdit
/// </summary>
/// <param name="LookUp">控件名</param>
/// <param name="TableName">表名</param>
/// <param name="columnValueName">Value字段</param>
/// <param name="columnDispName">显示字段</param>
/// <param name="Condition">提取表的条件</param>
/// <param name="type">Value字段类型</param>
public static void BindLookUpbyCondition(DevExpress.XtraEditors.LookUpEdit LookUp, string TableName, string columnValueName, string columnDispName, string Condition ,Type type)
{
MES.BLL.BaseDataManage m = new BaseDataManage();
DataTable DT = AppHelper.GetTableByTabaleNameAndColumnNameAndCondition(TableName, columnValueName, columnDispName, Condition);
DataTable sourceDT = new DataTable();
DataColumn c = new DataColumn();
c.Caption = "序号";
c.ColumnName = "CODE";
c.DataType = type;
sourceDT.Columns.Add(c);
c = new DataColumn();
c.Caption = "值";
c.ColumnName = "DISP";
c.DataType = typeof(System.String);
sourceDT.Columns.Add(c);
foreach (DataRow r in DT.Rows)
{
DataRow rowNew = sourceDT.NewRow();
if (type.FullName == "System.String")
{
rowNew["CODE"] = r[columnValueName].ToString();
}
else
{
rowNew["CODE"] = (int)(decimal)r[columnValueName];
}
rowNew["DISP"] = r[columnDispName].ToString();
sourceDT.Rows.Add(rowNew);
}
LookUp.Properties.DataSource = sourceDT;
LookUp.Properties.Columns.Clear();
LookUp.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo(c.ColumnName, 200, c.Caption));
LookUp.Properties.DisplayMember = c.ColumnName;
LookUp.Properties.ValueMember = "CODE";
LookUp.Properties.NullText = "--请选择--";
}