确定rowCommand颁发命令名称

问题描述:

我有类似下面的GridPanel中运行的两个命令:确定rowCommand颁发命令名称

<ext:CommandColumn> 
    <Commands> 
     <ext:GridCommand Icon="NoteEdit" CommandName="mailEdit"> 
      <ToolTip Text="Edit" /> 
     </ext:GridCommand> 
     <ext:GridCommand Icon="ApplicationLightning" CommandName="mailChangeBlock"> 
      <ToolTip Text="block/unblock" /> 
     </ext:GridCommand>        
    </Commands>        
</ext:CommandColumn> 

现在我听这些行命令:

<Listeners> 
    <Command Handler="if(command == 'mailEdit'){mailEdit}else{mailChangeBlock}; console.log(command);"/> 
</Listeners> 

闯闯是以下几点:

<Command Handler="(command == 'mailEdit') ? mailEdit : mailChangeBlock;" /> 

控制台日志没有问题地执行,但调用的函数中的console.log没有执行ed,尽管函数一旦给每个调用添加了括号就会被调用,但是传递给该函数的数据会丢失。

我的问题是现在,我怎么能确定哪个命令被执行并调用相应的函数并给它赋值,元数据和记录?

有可能通过额外参数,以发送命令的名称和其他值:

<DirectEvents> 
    <Command OnEvent="GridCommand"> 
     <ExtraParameters> 
     <ext:Parameter Name="commandname" Value="command" Mode="Raw" /> 
     <ext:Parameter Name="recordid" Value="record.data.id" Mode="Raw" /> 
     </ExtraParameters> 
    </Command> 
</DirectEvents> 

命令的确定可以然后被执行服务器单面(command返回在CommandColumn定义的CommandName),然后执行服务器端脚本。