SVN-Revision: r723
This commit is contained in:
cyf
2025-06-13 07:22:08 +00:00
parent 5c211d66d9
commit 3b1e09ea1e
9 changed files with 142 additions and 41 deletions
+85 -4
View File
@@ -946,6 +946,9 @@ namespace Lskj.Control
case ControlType.BarCode128B:
InitBarCode128BEdit(column, model);
break;
case ControlType.LabHyperlink:
InitHyperlink(column, model);
break;
default:
break;
}
@@ -2320,16 +2323,17 @@ namespace Lskj.Control
if (visible)
{
isShowFooter = true;
col.Summary.AddRange(new GridSummaryItem[] { new GridColumnSummaryItem(SummaryItemType.Sum, col.FieldName, "{0:}") });
string dataFormat = colSplit.Length > 3 ? colSplit[3] : "";
col.Summary.AddRange(new GridSummaryItem[] { new GridColumnSummaryItem(SummaryItemType.Sum, col.FieldName, "{0:" + dataFormat + "}") });
if (SystemInfo.Instance.GroupSpecialMode)
{
gridView.GroupSummary.Add(new GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, col.FieldName, col, "{0:}"));
gridView.GroupSummary.Add(new GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, col.FieldName, col, "{0:" + dataFormat + "}"));
gridView.OptionsView.GroupFooterShowMode = GroupFooterShowMode.VisibleAlways;
}
else
{
gridView.GroupSummary.AddRange(new GridSummaryItem[] { new GridGroupSummaryItem(SummaryItemType.Sum, col.FieldName, null, "{0:}") });
gridView.GroupSummary.AddRange(new GridSummaryItem[] { new GridGroupSummaryItem(SummaryItemType.Sum, col.FieldName, null, "{0:" + dataFormat + "}") });
}
}
}
@@ -3353,6 +3357,8 @@ namespace Lskj.Control
timeEdit.DisplayFormat.FormatString = timeEdit.EditFormat.FormatString = timeEdit.Mask.EditMask = DateFormat.Format(fieldType);
timeEdit.DisplayFormat.FormatType = timeEdit.EditFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gridControl.RepositoryItems.Add(timeEdit);
gridColumn.ColumnEdit = timeEdit;
}
@@ -4097,6 +4103,63 @@ namespace Lskj.Control
//this.mControlList.Add(model);
}
/// <summary>
/// <para>说明:超链接</para>
/// <para>创建人:曹屹峰</para>
/// <para>创建日期:2025-06-13 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
private void InitHyperlink(GridColumn gridColumn, GridColumnModel model)
{
// 创建超链接编辑器
RepositoryItemHyperLinkEdit hyperLinkEdit = new RepositoryItemHyperLinkEdit();
hyperLinkEdit.LinkColor = System.Drawing.Color.Blue;
hyperLinkEdit.NullText = "";
hyperLinkEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
// 设置超链接点击事件
hyperLinkEdit.Click += HyperLinkEdit_Click;
hyperLinkEdit.Tag = model;
// 注册编辑器
gridControl.RepositoryItems.Add(hyperLinkEdit);
gridColumn.OptionsColumn.ReadOnly = true;
gridColumn.ColumnEdit = hyperLinkEdit;
}
private void HyperLinkEdit_Click(object sender, EventArgs e)
{
string urlName = string.Empty;
// 获取点击的 HyperLinkEdit 实例
DevExpress.XtraEditors.HyperLinkEdit linkEdit = sender as DevExpress.XtraEditors.HyperLinkEdit;
if (linkEdit != null)
{
// 获取对应的 RepositoryItem
RepositoryItemHyperLinkEdit repositoryItem = linkEdit.Properties as RepositoryItemHyperLinkEdit;
if (repositoryItem != null)
{
GridColumnModel model = repositoryItem.Tag as GridColumnModel;
urlName = model.ValueMember;
}
}
if (string.IsNullOrWhiteSpace(urlName)) return;
// 获取当前选中的行和列
int rowHandle = this.gridView.FocusedRowHandle;
string url = this.gridView.GetRowCellValue(rowHandle, urlName) as string;
if (!string.IsNullOrEmpty(url))
{
// 打开默认浏览器访问URL
System.Diagnostics.Process.Start(url);
}
}
private void InitRightMenuBtnEdit()
{
GridColumn gridColumn = new GridColumn();
@@ -7722,7 +7785,7 @@ namespace Lskj.Control
/// </summary>
/// <param name="ModifyFields">修改字段</param>
/// <param name="RequiredFields">必填字段</param>
public virtual void SetFieldStatus(string ModifyFields, string RequiredFields)
public virtual void SetFieldStatus(string ModifyFields, string RequiredFields,DataTable AuthorityTable=null)
{
GridColumnCollection gc = this.GridView.Columns;
@@ -7747,6 +7810,24 @@ namespace Lskj.Control
//修改
if (Modify && ModifyFields.IndexOf(item.FieldName + ",", StringComparison.OrdinalIgnoreCase) != -1)
{
if (!string.IsNullOrWhiteSpace(model.PrivilegeOper)&& AuthorityTable!=null)
{
List<int> targetPrivTypeIds = new List<int>();
foreach (string permission in model.PrivilegeOper.Split(','))
{
targetPrivTypeIds.Add(int.Parse(permission));
}
//获取权限对应的人员名称
string userString = string.Join(",", AuthorityTable.AsEnumerable()
.Where(row => targetPrivTypeIds.Contains(row.Field<int>("privTypeId")))
.Select(row => row.Field<string>("userList"))
.Where(value => value != null)
.ToList());
if (!userString.Split(',').Contains(ERPInfo.Instance.UserName)) continue;
}
item.OptionsColumn.AllowEdit = ModifyFields.IndexOf(item.FieldName + ",", StringComparison.OrdinalIgnoreCase) != -1;
item.OptionsColumn.ReadOnly = !item.OptionsColumn.AllowEdit;