QDatagrid inside QPanel not working
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.”'”);
}
}
?>
