QDatagrid inside QPanel not working

Login or register to post comments
No replies
Offline
Joined: 09/26/2011

QDatagrid inside QPanel not working. I am attaching some code where pagination and sorting not working. It is rederect to parent page even i am using $this->dtgUserpackage->UseAjax = true;

Please see the code below.If any thing missing so let me know.

<?php
require “dlgpackage.class.php”;
class
Package extends QPanel {
  
   protected
$strTemplate = 'panel/package.tpl.php';
   public
$objUser,$strControlId;
   public
$dtgUserpackage,$dlgPackage;
   public
$btnNew,$btnDeleteSelected,$btnExport;
   public
$lblUserUserpackage;
   public
$arrDeleteByCheckBox;
   public
$intEditUserpackageId=null;
   public
$objDefaultWaitIcon,$str;
      
   public function
__construct($objParentObject,$objUser,$strControlId = null) {
           try {
              
parent::__construct($objParentObject, $strControlId);
           } catch (
QCallerException $objExc) {
              
//$objExc->IncrementOffset();
               //throw $objExc;
          
}               

          
$this->objUser=$objUser;
          
$this->strControlId=$strControlId;
          
          
$this->dlgPackage = new QDlgPackage('btndlgPackage_Close', $this, 'PackageDialogbox');
          
$this->dlgPackage->Title = “Plan”;
          
$this->dlgPackage->Visible = false;
          
          
$this->btnNew=new QButton($this);
          
$this->btnNew->Text=QApplication::Translate('Purchase New Plan');
          
$this->btnNew->ActionParameter = -1”;
          
$this->btnNew->AddAction(new QClickEvent(), new QAjaxControlAction($this,'btnEdit_Click'));
          
          
          
$this->dtgUserpackage=new QDataGrid($this);
          
          
$objPaginator = new QPaginator($this->dtgUserpackage);

          
$this->dtgUserpackage->Paginator = $objPaginator;
          
$this->dtgUserpackage->Width = '700';
          
$this->dtgUserpackage->ItemsPerPage = 1;
          
$this->dtgUserpackage->UseAjax = true;
          
$this->dtgUserpackage->SetDataBinder('dtgUserpackage_Bind', $this);
          
          
$this->dtgUserpackage->SortColumnIndex=0;
          
$objStyle = $this->dtgUserpackage->AlternateRowStyle;
          
$objStyle->BackColor = '#efefef';   
          
          
          
/*$this->dtgUserpackage->AddColumn(new QDataGridColumn(
                               'Action',
                               ('<?= $_CONTROL->ParentControl->WebLink($_ITEM)
?>
'),
'Width=50',
'HtmlEntities=false'
));*/
/*$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Action',
' <?= $_CONTROL->ParentControl->EditColumn_Render($_ITEM) ?>',
'Width=200',
'HtmlEntities=false'
));*/
$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Plan Name',
' <?= $_CONTROL->ParentControl->PackageColumn_Render($_ITEM) ?>',
'Width=200',
'HtmlEntities=false',
array(
'OrderByClause'=>QQ::OrderBy(QQN::OcsUserpackage()->Package->Name),
'ReverseOrderByClause' => QQ::OrderBy(QQN::OcsUserpackage()->Package->Name,false)
)));

$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Price Left',
' <?= $_CONTROL->ParentControl->Priceleft_Render($_ITEM) ?>',
'Width=200',
'HtmlEntities=false',
array(
'OrderByClause'=>QQ::OrderBy(QQN::OcsUserpackage()->Priceleft),
'ReverseOrderByClause' => QQ::OrderBy(QQN::OcsUserpackage()->Priceleft,false)
)));

$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Status',
' <?= $_CONTROL->ParentControl->StatusColumn_Render($_ITEM) ?>',
'Width=200',
'HtmlEntities=false',
array(
'OrderByClause'=>QQ::OrderBy(QQN::OcsUserpackage()->Isactive),
'ReverseOrderByClause' => QQ::OrderBy(QQN::OcsUserpackage()->Isactive,false)
)));

$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Purchase Date',
' <?= $_CONTROL->ParentControl->DatedColumn_Render($_ITEM) ?>',
'Width=350',
'HtmlEntities=false',
array(
'OrderByClause'=>QQ::OrderBy(QQN::OcsUserpackage()->Dated),
'ReverseOrderByClause' => QQ::OrderBy(QQN::OcsUserpackage()->Dated,false)
)));

$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Exp Date',
' <?= $_CONTROL->ParentControl->ExpdatedColumn_Render($_ITEM) ?>',
'Width=350',
'HtmlEntities=false',
array(
'OrderByClause'=>QQ::OrderBy(QQN::OcsUserpackage()->Expdated),
'ReverseOrderByClause' => QQ::OrderBy(QQN::OcsUserpackage()->Expdated,false)
)));

/*$this->dtgUserpackage->AddColumn(new QDataGridColumn(
'Select',
'<?= $_CONTROL->ParentControl->chkSelected_Render($_ITEM) ?>',
'Width=50',
'HtmlEntities=false'
));*/
$this->btnDeleteSelected=new QButton($this->dtgUserpackage);
$this->btnDeleteSelected->Text='Delete Selected';$this->btnDeleteSelected->CssClass='floatright button';
$this->btnDeleteSelected->AddAction(new QClickEvent(), new QAjaxControlAction($this,'btnDeleteSelected_Click'));
$this->objDefaultWaitIcon = new QWaitIcon($this);

}
public function dtgUserpackage_Bind(){
$this->dtgUserpackage->TotalItemCount = OcsUserpackage::QueryCount(
QQ::Equal(QQN::OcsUserpackage()->UserId,$_SESSION['UserId'])
);

$objUserpackageArray=$this->dtgUserpackage->DataSource=OcsUserpackage::QueryArray(
QQ::Equal(QQN::OcsUserpackage()->UserId,$_SESSION['UserId'])
,QQ::Clause($this->dtgUserpackage->OrderByClause,$this->dtgUserpackage->LimitClause));

}
public function btnDeleteSelected_Click($strFormId, $strControlId, $strParameter) {
if($this->intEditUserpackageId!=-1){
if(count($this->arrDeleteByCheckBox)){
foreach($this->arrDeleteByCheckBox as $key=>$value){
if($value!=''){
if($objUserpackage = OcsUserpackage::Load($value))
$objUserpackage->Delete();
}

}
}
}
$this->intEditUserpackageId = null;
}
public function btnNew_Click($strFormId, $strControlId, $strParameter) {

QApplication::Redirect(_VIRTUAL_DIRECTORY_OCS_.
“/admin/user/package/edit.php?UserpackageId=-1&UserId=“.QApplication::QueryString('UserId'));
}

public function chkSelected_Click($strFormId, $strControlId, $strParameter){
$intUserpackageId = $strParameter;
if($intUserpackageId !=-1 && $intUserpackageId!='' && $intUserpackageId!=null){
$objUserpackage = OcsUserpackage::Load($intUserpackageId);
if ($this->GetControl($strControlId)->Checked){
$this->arrDeleteByCheckBox[]=$objUserpackage->UserpackageId;
}
else{
$delthis=array_search($objUserpackage->UserpackageId,$this->arrDeleteByCheckBox);
array_splice($this->arrDeleteByCheckBox, $delthis, 1);
}
}
}
public function WebLink(OcsUserpackage $objUserpackage){
$strToReturn = “UserpackageId.”\”>Edit”;
return $strToReturn;
}
public function PackageColumn_Render(OcsUserpackage $objUserpackage){
return QApplication::HtmlEntities($objUserpackage->Package->Name);
}
public function StatusColumn_Render(OcsUserpackage $objUserpackage){
if($objUserpackage->Isactive=='1'){
return QApplication::HtmlEntities('Active');
}else{
return QApplication::HtmlEntities('Inactive');
}
}
public function ExpdatedColumn_Render(OcsUserpackage $objUserpackage){
if($objUserpackage->Expdated)
return $objUserpackage->Expdated;
else
return '--';
}
public function DatedColumn_Render(OcsUserpackage $objUserpackage){
if($objUserpackage->Dated)
return $objUserpackage->Dated;
else
return '--';
}
public function Priceleft_Render(OcsUserpackage $objUserpackage){
$str=OcsCustomFunc::convertstrcenttodoller($objUserpackage->Priceleft);
return QApplication::HtmlEntities($str);
}
public function chkSelected_Render(OcsUserpackage $objUserpackage){
$strControlId = 'chkSelected' . $objUserpackage->UserpackageId;
$chkSelected = $this->GetControl($strControlId);

if(!$chkSelected){
$chkSelected=new QCheckBox($this->dtgUserpackage,$strControlId);
$chkSelected->ActionParameter=$objUserpackage->UserpackageId;
$chkSelected->AddAction(new QClickEvent(),new QAjaxAction('chkSelected_Click'));
}
return $chkSelected->Render(false);
}
public function btnEdit_Click($strFormId, $strControlId, $strParameter) {
//QApplication::DisplayAlert(“Yes-->”.$strParameter);

$this->dlgPackage->Value = $strParameter;

$this->dlgPackage->ShowDialogBox();
}
public function EditColumn_Render(OcsUserpackage $objUserpackage){
$strControlId=$objUserpackage->UserpackageId;

$btnEdit = new QButton($this->dtgUserpackage);
$btnEdit->Text = 'View';
$btnEdit->ActionParameter = $objUserpackage->UserpackageId;
$btnEdit->AddAction(new QClickEvent(), new QAjaxControlAction($this,'btnEdit_Click'));

return $btnEdit->Render(false);

}
public function btndlgPackage_Close(){

//$this->txtValue->Text = $this->dlgPackage->Value;
//QApplication::Redirect(_VIRTUAL_DIRECTORY_OCS_.”/user/ccinfo.php?PackageId='”.$this->dlgPackage->Value.”'”);

}
}
?>