SVN-Revision: r958
This commit is contained in:
tdx
2025-08-27 03:20:41 +00:00
parent 668967bb89
commit 0760345543
@@ -243,6 +243,15 @@ namespace Lskj.Control.MultiGridLookUp
int popupWidth = iIndexWidth + iValueWidth + iTextWidth + iRemarkWidth + iOtherWidth + 20;
if (popupWidth > gridControl1.Width)
this.Width = popupWidth;
foreach (GridColumn item in gcMain.Columns)
{
var column = this.gcDetail.Columns.Where(n => n.Caption.Equals(item.Caption)).FirstOrDefault();
if (column != null)
{
column.Width = item.Width;
}
}
//this._Handed = false;
}
/// <summary>
@@ -257,6 +266,7 @@ namespace Lskj.Control.MultiGridLookUp
private void SetReadOnlyColumns()
{
this.gcMain.Columns.Clear();
this.gcDetail.Columns.Clear();
if (this.DataSource != null)
{
if (!this.DataSource.Columns.Contains(_checkFieldName))
@@ -270,53 +280,69 @@ namespace Lskj.Control.MultiGridLookUp
DataSource.Rows[i][_id] = i;
}
}
for (int i = 0; i < 2; i++)
{
GridColumn checkColumn = new GridColumn();
checkColumn.Name = checkColumn.FieldName = this._checkFieldName;
checkColumn.Caption = "选";
checkColumn.Width = 30;
checkColumn.Visible = true;
checkColumn.OptionsColumn.AllowEdit = false;
checkColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
GridColumn checkColumn = new GridColumn();
checkColumn.Name = checkColumn.FieldName = this._checkFieldName;
checkColumn.Caption = "";
checkColumn.Width = 30;
checkColumn.Visible = true;
checkColumn.OptionsColumn.AllowEdit = false;
checkColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
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 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;
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[] { checkColumn, valueColumn, textColumn });
this.gcDetail.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
if (i == 0)
{
this.gcMain.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
}
else if (i == 1)
{
this.gcDetail.Columns.AddRange(new GridColumn[] { checkColumn, 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;
for (int i = 0; i < 2; i++)
{
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);
this.gcDetail.Columns.Add(remarkColumn);
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;
if (i == 0)
{
this.gcMain.Columns.Add(remarkColumn);
}
else if (i == 1)
{
this.gcDetail.Columns.Add(remarkColumn);
}
}
}
DataTable DT = gridControl1.DataSource == null ? new DataTable() : gridControl1.DataSource as DataTable;
@@ -324,19 +350,27 @@ namespace Lskj.Control.MultiGridLookUp
{
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.Columns.Add(otherColumn);
for (int i = 0; i < 2; i++)
{
GridColumn otherColumn = new GridColumn();
otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName;
otherColumn.Visible = true;
otherColumn.Width = 150;
otherColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
if (i == 0)
{
this.gcMain.Columns.Add(otherColumn);
}
else if (i == 1)
{
this.gcDetail.Columns.Add(otherColumn);
}
}
}
}
SetCustomColumns();
this.gcDetail.GridControl.DataSource = this.gridControl1.DataSourceTable().Clone();
this.gcMain.BestFitColumns();
this.gcDetail.BestFitColumns();
//this.gcDetail.SelectAll();
//this.gcDetail.DeleteSelectedRows();
}