SVN r1015
SVN-Revision: r1015
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user