红鱼儿

uniGUI制作标签

有这样的需求,要实现这样的样式:

 1.为了实现,写一个函数

function AddLabel(aJsName,aEventName,aID,aCaption:string):string;
begin
  result:=  Format('<a class="btnopbtn" style="color: #148a14" onclick="ajaxRequest(%s,''%s'',[''id=%s'']);">%s</a>|',[aJsName,aEventName,aID,aCaption]);
end;

2.放一个uniLable,并设置他的TextConversion为txtHTML

3.为uniLabel设置值:

  label1.Text:=AddLabel(Label1.JSName,'add','id1','增加')+
               AddLabel(Label1.JSName,'editrow','id2','编辑');

4.处理Label.OnAjaxEvent事件:

procedure TMainForm.Label1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings);
var
  id:string;
begin
//
  if EventName='add' then
  begin
    id:=Params.Params['id'].AsString;
    ShowMessage('add:'+id);
  end;
  if EventName='editrow' then
     ShowMessage('editrow');

end;

当然你也可以通过Params进一步传参数到这个事件中。

 

posted on 2025-05-30 13:49  红鱼儿  阅读(194)  评论(0)    收藏  举报