SVN r1015

SVN-Revision: r1015
This commit is contained in:
cyf
2025-10-17 06:00:59 +00:00
parent e8adfe2380
commit 9a15684171
+114 -66
View File
@@ -82,6 +82,11 @@ namespace Lskj.Control
/// </summary>
//public TreeBandedGridControlEx CustomGroupTreeBandEx;
/// <summary>
///单据明细拖拽条件(为树表格时推拽改变父节点和来源明细中推拽内容上去)
/// </summary>
public string TreeTableDragCondition;
/// <summary>
/// 下拉框数据源绑定完成后执行
/// </summary>
@@ -1539,71 +1544,7 @@ namespace Lskj.Control
mLoading = true;
try
{
foreach (GridColumnModel item in mControlList)
{
if (ControlType.IsNotLoadData(item.FieldType)) continue;
DataTable dataTable = BaseImpl.GetDataTableResult(item.SqlSource);
Application.DoEvents();
if (!item.Visible) continue;
switch (item.FieldType)
{
case ControlType.LabComboxValue:
case ControlType.LabComboxText:
case ControlType.LabComboxValueParam:
case ControlType.LabComboxTextParam:
case ControlType.LabTreeType:
RepositoryItemLookUpEdit lookUp = this.gcMain.Columns[item.FieldName].ColumnEdit as RepositoryItemLookUpEdit;
lookUp.DataSource = dataTable;
break;
case ControlType.LabAutoCompleteValue:
case ControlType.LabAutoCompleteText:
case ControlType.LabAutoCompleteValueParam:
case ControlType.LabAutoCompleteTextParam:
case ControlType.LabAutoGridValue:
case ControlType.LabAutoGridText:
case ControlType.LabAutoGridValueParam:
case ControlType.LabAutoGridTextParam:
int popWidth = 0;
RepositoryItemGridLookUpEdit lookGridUp = this.gcMain.Columns[item.FieldName].ColumnEdit as RepositoryItemGridLookUpEdit;
DataTable table = dataTable;
lookGridUp.DataSource = table;
if (table.Columns.Contains("remark") && lookGridUp.View.Columns.FirstOrDefault(x => x.FieldName == "remark") == null)
{
DevExpress.XtraGrid.Columns.GridColumn remarkColumn = new DevExpress.XtraGrid.Columns.GridColumn();
remarkColumn.Caption = "备注";
remarkColumn.Name = remarkColumn.FieldName = "remark";
remarkColumn.Visible = true;
lookGridUp.View.Columns.Add(remarkColumn);
}
foreach (DataColumn dcol in table.Columns)
{
if ((dcol.ColumnName.Substring(0, 1) != "_") && lookGridUp.View.Columns.FirstOrDefault(x => x.FieldName == dcol.ColumnName) == null)
{
if ((dcol.ColumnName.ToLower() != item.ValueMember.ToLower()) && (dcol.ColumnName.ToLower() != item.TextMember.ToLower()) && (dcol.ColumnName.ToLower() != "remark") && ((int)dcol.ColumnName[0] > 127))
{
DevExpress.XtraGrid.Columns.GridColumn otherColumn = new DevExpress.XtraGrid.Columns.GridColumn();
otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName;
otherColumn.Visible = true;
lookGridUp.View.Columns.Add(otherColumn);
}
if (lookGridUp.View.Columns.FirstOrDefault(x => x.FieldName == dcol.ColumnName) != null)
{
DevExpress.XtraGrid.Columns.GridColumn gCol = lookGridUp.View.Columns[dcol.ColumnName];
gCol.Width = CalcMaxColumnWidth(table, gCol.Name);
popWidth += gCol.Width;
}
}
}
lookGridUp.PopupFormSize = new System.Drawing.Size(popWidth, lookGridUp.PopupFormSize.Height);
break;
default:
break;
}
}
SetColumnsSource();
}
catch (Exception ex)
{
@@ -1622,7 +1563,74 @@ namespace Lskj.Control
private void SetColumnsSource()
{
foreach (GridColumnModel item in mControlList)
{
if (ControlType.IsNotLoadData(item.FieldType)) continue;
DataTable dataTable = BaseImpl.GetDataTableResult(item.SqlSource);
Application.DoEvents();
if (!item.Visible) continue;
switch (item.FieldType)
{
case ControlType.LabComboxValue:
case ControlType.LabComboxText:
case ControlType.LabComboxValueParam:
case ControlType.LabComboxTextParam:
case ControlType.LabTreeType:
RepositoryItemLookUpEdit lookUp = this.gcMain.Columns[item.FieldName].ColumnEdit as RepositoryItemLookUpEdit;
lookUp.DataSource = dataTable;
break;
case ControlType.LabAutoCompleteValue:
case ControlType.LabAutoCompleteText:
case ControlType.LabAutoCompleteValueParam:
case ControlType.LabAutoCompleteTextParam:
case ControlType.LabAutoGridValue:
case ControlType.LabAutoGridText:
case ControlType.LabAutoGridValueParam:
case ControlType.LabAutoGridTextParam:
int popWidth = 0;
RepositoryItemGridLookUpEdit lookGridUp = this.gcMain.Columns[item.FieldName].ColumnEdit as RepositoryItemGridLookUpEdit;
DataTable table = dataTable;
lookGridUp.DataSource = table;
if (table.Columns.Contains("remark") && lookGridUp.View.Columns.FirstOrDefault(x => x.FieldName == "remark") == null)
{
DevExpress.XtraGrid.Columns.GridColumn remarkColumn = new DevExpress.XtraGrid.Columns.GridColumn();
remarkColumn.Caption = "备注";
remarkColumn.Name = remarkColumn.FieldName = "remark";
remarkColumn.Visible = true;
lookGridUp.View.Columns.Add(remarkColumn);
}
foreach (DataColumn dcol in table.Columns)
{
if ((dcol.ColumnName.Substring(0, 1) != "_") && lookGridUp.View.Columns.FirstOrDefault(x => x.FieldName == dcol.ColumnName) == null)
{
if ((dcol.ColumnName.ToLower() != item.ValueMember.ToLower()) && (dcol.ColumnName.ToLower() != item.TextMember.ToLower()) && (dcol.ColumnName.ToLower() != "remark") && ((int)dcol.ColumnName[0] > 127))
{
DevExpress.XtraGrid.Columns.GridColumn otherColumn = new DevExpress.XtraGrid.Columns.GridColumn();
otherColumn.Name = otherColumn.FieldName = otherColumn.Caption = dcol.ColumnName;
otherColumn.Visible = true;
lookGridUp.View.Columns.Add(otherColumn);
}
if (lookGridUp.View.Columns.FirstOrDefault(x => x.FieldName == dcol.ColumnName) != null)
{
DevExpress.XtraGrid.Columns.GridColumn gCol = lookGridUp.View.Columns[dcol.ColumnName];
gCol.Width = CalcMaxColumnWidth(table, gCol.Name);
popWidth += gCol.Width;
}
}
}
lookGridUp.PopupFormSize = new System.Drawing.Size(popWidth, lookGridUp.PopupFormSize.Height);
break;
default:
break;
}
}
}
@@ -3618,6 +3626,7 @@ namespace Lskj.Control
this.TreeListObj.DragDrop += TreeListObj_DragDrop;
//this.TreeListObj.KeyDown += TreeGridControlEx_KeyDown;
//this.TreeListObj.KeyUp += TreeGridControlEx_KeyUp;
//this.TreeListObj.BeforeDragNode += TreeListObj_BeforeDragNode;
}
catch (Exception ex)
{
@@ -3626,6 +3635,15 @@ namespace Lskj.Control
}
/// <summary>
/// 当尝试拖动节点时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//private void TreeListObj_BeforeDragNode(object sender, BeforeDragNodeEventArgs e)
//{
//}
private void TreeGridControlEx_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Menu || e.KeyCode == Keys.Alt)
@@ -3651,6 +3669,22 @@ namespace Lskj.Control
/// <param name="e"></param>
private void TreeListObj_DragDrop(object sender, DragEventArgs e)
{
if (!string.IsNullOrWhiteSpace(TreeTableDragCondition))
{
//目标节点
TreeListHitInfo hitInfo = TreeListObj.CalcHitInfo(TreeListObj.PointToClient(new System.Drawing.Point(e.X, e.Y)));
TreeListNode TargetNode = hitInfo.Node;//当前目标节点
DataRow TargetRow = GetViewSpecifyDataRow(TargetNode);
//拖拽节点
TreeListNode SelectedNode = this.TreeListObj.FocusedNode;
DataRow SelectedRow = GetViewSpecifyDataRow(SelectedNode);
if (!ReplaceHelper.EvalCond(ReplaceHelper.ReplaceRowParam(TargetRow, this.TreeTableDragCondition))&& !ReplaceHelper.EvalCond(ReplaceHelper.ReplaceRowParam(SelectedRow, this.TreeTableDragCondition)))
{
e.Effect = DragDropEffects.None;
}
}
// Alt键被按下,只能在同层级拖拽,拖拽行移动到目标行下方
if (e.KeyState == 32)
{
@@ -3665,7 +3699,7 @@ namespace Lskj.Control
TreeListNode TreeListNode = hitInfo.Node;//当前目标节点
TreeListNode parentNode = TreeListNode.ParentNode; // 获取目标节点的父节点
int nodeIndex = parentNode == null ? TreeListObj.Nodes.IndexOf(TreeListNode) : parentNode.Nodes.IndexOf(TreeListNode);//当前目标节点的索引
//拖拽节点
//拖拽节点
TreeListNode SelectedNode = this.TreeListObj.FocusedNode;
TreeListNode SelectedParentNode = TreeListNode.ParentNode; // 获取拖拽节点的父节点
int SelectedNodeIndex = SelectedParentNode == null ? TreeListObj.Nodes.IndexOf(SelectedNode) : SelectedParentNode.Nodes.IndexOf(SelectedNode);//拖拽节点的索引
@@ -4488,3 +4522,17 @@ namespace Lskj.Control
{
item.OptionsColumn.AllowEdit = ModifyFields.IndexOf(item.FieldName + ",", StringComparison.OrdinalIgnoreCase) != -1;
item.OptionsColumn.ReadOnly = !item.OptionsColumn.AllowEdit;
if (!item.OptionsColumn.AllowEdit)
{
item.AppearanceHeader.Options.UseForeColor = true;
item.AppearanceHeader.ForeColor = ColorTranslator.FromHtml(HeaderColor);
}
else
{
item.AppearanceHeader.Options.UseForeColor = true;
item.AppearanceHeader.ForeColor = ColorTranslator.FromHtml("#00000");
}
if (model.FieldType == ControlType.LabMemoEdit) item.OptionsColumn.AllowEdit = true;
}