2014年8月18日 星期一

CCS在Editable Grid中防止個別記錄的動作



關鍵在於 DataSource->CmdExecution

這是一個 Run time 的 Property,決定在 BeforeExecuteInsert, BeforeExecuteUpdate or BeforeExecuteDelete 這幾個事件執行 Insert, Update or Delete 前是否要被執行。


function Tasks_DataSource_BeforeExecuteInsert(& $sender)  {
  global $Tasks;
   if (CCGetUserID() == $Tasks->user_id_assign_to->GetValue()) {
   $Tasks->DataSource->CmdExecution = false;
  }
}

function Tasks_DataSource_BeforeExecuteUpdate(& $sender)  {
global $Tasks;
   if (CCGetUserID() != $Tasks->user_id_assign_to->GetValue()) {
   $Tasks->DataSource->CmdExecution = false;
  }
}

function Tasks_DataSource_BeforeExecuteDelete(& $sender)  {
global $Tasks;
   if (CCGetUserID() != $Tasks->user_id_assign_by->GetValue()) {
   $Tasks->DataSource->CmdExecution = false;
  }
}

沒有留言:

張貼留言

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。