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; int popupWidth = iIndexWidth + iValueWidth + iTextWidth + iRemarkWidth + iOtherWidth + 20;
if (popupWidth > gridControl1.Width) if (popupWidth > gridControl1.Width)
this.Width = popupWidth; 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; //this._Handed = false;
} }
/// <summary> /// <summary>
@@ -257,6 +266,7 @@ namespace Lskj.Control.MultiGridLookUp
private void SetReadOnlyColumns() private void SetReadOnlyColumns()
{ {
this.gcMain.Columns.Clear(); this.gcMain.Columns.Clear();
this.gcDetail.Columns.Clear();
if (this.DataSource != null) if (this.DataSource != null)
{ {
if (!this.DataSource.Columns.Contains(_checkFieldName)) if (!this.DataSource.Columns.Contains(_checkFieldName))
@@ -270,53 +280,69 @@ namespace Lskj.Control.MultiGridLookUp
DataSource.Rows[i][_id] = i; 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(); GridColumn valueColumn = new GridColumn();
checkColumn.Name = checkColumn.FieldName = this._checkFieldName; valueColumn.FieldName = valueColumn.Name = ValueField;
checkColumn.Caption = ""; valueColumn.Caption = "编码";
checkColumn.Width = 30; valueColumn.Width = 200;
checkColumn.Visible = true; //valueColumn.Visible = true;
checkColumn.OptionsColumn.AllowEdit = false; valueColumn.Visible = ValueMember.Substring(0, 1) != "_";
checkColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; valueColumn.OptionsColumn.AllowEdit = false;
valueColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
GridColumn valueColumn = new GridColumn(); GridColumn textColumn = new GridColumn();
valueColumn.FieldName = valueColumn.Name = ValueField; textColumn.FieldName = textColumn.Name = TextField;
valueColumn.Caption = "编码"; textColumn.Caption = "名称";
valueColumn.Width = 200; textColumn.Width = 350;
//valueColumn.Visible = true; //textColumn.Visible = true;
valueColumn.Visible = ValueMember.Substring(0, 1) != "_"; textColumn.Visible = TextField.Substring(0, 1) != "_";
valueColumn.OptionsColumn.AllowEdit = false; textColumn.OptionsColumn.AllowEdit = false;
valueColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; textColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
GridColumn textColumn = new GridColumn(); if (i == 0)
textColumn.FieldName = textColumn.Name = TextField; {
textColumn.Caption = "名称"; this.gcMain.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
textColumn.Width = 350; }
//textColumn.Visible = true; else if (i == 1)
textColumn.Visible = TextField.Substring(0, 1) != "_"; {
textColumn.OptionsColumn.AllowEdit = false; this.gcDetail.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
textColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; }
}
this.gcMain.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
this.gcDetail.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
if (DataSource.Columns.IndexOf("remark") != -1) if (DataSource.Columns.IndexOf("remark") != -1)
{ {
DataColumn column = DataSource.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName.ToLower() == RemarkField); for (int i = 0; i < 2; i++)
if (column != null) RemarkField = column.ColumnName; {
DataColumn column = DataSource.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName.ToLower() == RemarkField);
if (column != null) RemarkField = column.ColumnName;
GridColumn remarkColumn = new GridColumn(); GridColumn remarkColumn = new GridColumn();
remarkColumn.Name = remarkColumn.FieldName = RemarkField; remarkColumn.Name = remarkColumn.FieldName = RemarkField;
remarkColumn.Caption = "备注"; remarkColumn.Caption = "备注";
remarkColumn.Visible = true; remarkColumn.Visible = true;
remarkColumn.Width = 120; remarkColumn.Width = 120;
//字段第一个字符为下划线代表不显示 //字段第一个字符为下划线代表不显示
if (RemarkField.Substring(0, 1) == "_") if (RemarkField.Substring(0, 1) == "_")
remarkColumn.Visible = false; remarkColumn.Visible = false;
remarkColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
remarkColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; if (i == 0)
this.gcMain.Columns.Add(remarkColumn); {
this.gcDetail.Columns.Add(remarkColumn); 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; 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)) 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(); for (int i = 0; i < 2; i++)
otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName; {
otherColumn.Visible = true; GridColumn otherColumn = new GridColumn();
otherColumn.Width = 150; otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName;
otherColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; otherColumn.Visible = true;
this.gcMain.Columns.Add(otherColumn); otherColumn.Width = 150;
this.gcDetail.Columns.Add(otherColumn); otherColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
if (i == 0)
{
this.gcMain.Columns.Add(otherColumn);
}
else if (i == 1)
{
this.gcDetail.Columns.Add(otherColumn);
}
}
} }
} }
SetCustomColumns(); SetCustomColumns();
this.gcDetail.GridControl.DataSource = this.gridControl1.DataSourceTable().Clone(); this.gcDetail.GridControl.DataSource = this.gridControl1.DataSourceTable().Clone();
this.gcMain.BestFitColumns(); this.gcMain.BestFitColumns();
this.gcDetail.BestFitColumns();
//this.gcDetail.SelectAll(); //this.gcDetail.SelectAll();
//this.gcDetail.DeleteSelectedRows(); //this.gcDetail.DeleteSelectedRows();
} }