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,7 +280,8 @@ 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(); GridColumn checkColumn = new GridColumn();
checkColumn.Name = checkColumn.FieldName = this._checkFieldName; checkColumn.Name = checkColumn.FieldName = this._checkFieldName;
checkColumn.Caption = "选"; checkColumn.Caption = "选";
@@ -297,10 +308,19 @@ namespace Lskj.Control.MultiGridLookUp
textColumn.OptionsColumn.AllowEdit = false; textColumn.OptionsColumn.AllowEdit = false;
textColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; textColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
if (i == 0)
{
this.gcMain.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn }); this.gcMain.Columns.AddRange(new GridColumn[] { checkColumn, valueColumn, textColumn });
}
else if (i == 1)
{
this.gcDetail.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)
{
for (int i = 0; i < 2; i++)
{ {
DataColumn column = DataSource.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName.ToLower() == RemarkField); DataColumn column = DataSource.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName.ToLower() == RemarkField);
if (column != null) RemarkField = column.ColumnName; if (column != null) RemarkField = column.ColumnName;
@@ -313,30 +333,44 @@ namespace Lskj.Control.MultiGridLookUp
//字段第一个字符为下划线代表不显示 //字段第一个字符为下划线代表不显示
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.gcMain.Columns.Add(remarkColumn);
}
else if (i == 1)
{
this.gcDetail.Columns.Add(remarkColumn); 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;
foreach (DataColumn dcol in DT.Columns) foreach (DataColumn dcol in DT.Columns)
{ {
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))
{
for (int i = 0; i < 2; i++)
{ {
GridColumn otherColumn = new GridColumn(); GridColumn otherColumn = new GridColumn();
otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName; otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName;
otherColumn.Visible = true; otherColumn.Visible = true;
otherColumn.Width = 150; otherColumn.Width = 150;
otherColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; otherColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
if (i == 0)
{
this.gcMain.Columns.Add(otherColumn); this.gcMain.Columns.Add(otherColumn);
}
else if (i == 1)
{
this.gcDetail.Columns.Add(otherColumn); 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();
} }