diff --git a/插件库/Lskj.Control/GridControlEx.cs b/插件库/Lskj.Control/GridControlEx.cs
index 1b208bf..3d5456c 100644
--- a/插件库/Lskj.Control/GridControlEx.cs
+++ b/插件库/Lskj.Control/GridControlEx.cs
@@ -318,6 +318,10 @@ namespace Lskj.Control
///
public string ModifyCond = string.Empty;
///
+ ///超链接点击回调
+ ///
+ public event EventHandler OnAfterLinkCilk;
+ ///
/// 表格粘贴行后回调
///
public event EventHandler OnAfterPasting;
@@ -949,6 +953,9 @@ namespace Lskj.Control
case ControlType.LabHyperlink:
InitHyperlink(column, model);
break;
+ case ControlType.LabRightlink:
+ InitRightlink(column, model);
+ break;
default:
break;
}
@@ -4130,7 +4137,68 @@ namespace Lskj.Control
gridColumn.OptionsColumn.ReadOnly = true;
gridColumn.ColumnEdit = hyperLinkEdit;
}
+ ///
+ /// 说明:超链接右键列
+ /// 创建人:王一帆
+ /// 创建日期:2025-06-13
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ private void InitRightlink(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 += OnRightClick;
+ hyperLinkEdit.Tag = model;
+ // 注册编辑器
+ gridControl.RepositoryItems.Add(hyperLinkEdit);
+ gridColumn.OptionsColumn.ReadOnly = true;
+ gridColumn.ColumnEdit = hyperLinkEdit;
+ }
+ ///
+ /// 点击超链接右键
+ ///
+ ///
+ ///
+ private void OnRightClick(object sender, EventArgs e)
+ {
+ string unionright = 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;
+ unionright = model.ValueMember;
+ }
+ if (!string.IsNullOrWhiteSpace(unionright))
+ {
+ // 获取当前选中的行和列
+
+ int rowHandle = this.gridView.FocusedRowHandle;
+ string rightid = this.gridView.GetRowCellValue(rowHandle, unionright)+"";
+
+ if (!string.IsNullOrEmpty(rightid))
+ {
+ if (OnAfterLinkCilk != null)
+ {
+ this.OnAfterLinkCilk(rightid, null);//直接调用新增行方法,添加关联数据
+ }
+
+ }
+ }
+ }
+ }
private void HyperLinkEdit_Click(object sender, EventArgs e)
{
string urlName = string.Empty;