2013-02-08 46 views
1

我有類似下面的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,儘管函數一旦給每個調用添加了括號就會被調用,但是傳遞給該函數的數據會丟失。

我的問題是現在,我怎麼能確定哪個命令被執行並調用相應的函數並給它賦值,元數據和記錄?

回答

0

有可能通過額外參數,以發送命令的名稱和其他值:

<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),然後執行服務器端腳本。