Ejemplo n.º 1
0
 public function render_btnToggleRecords($parControl, $strType)
 {
     $strControlId = 'btnToggleRecordsforaddressofperson' . $strType->Id . 'ofproject' . $this->objProject->Id;
     if (!($objControl = $parControl->GetChildControl($strControlId))) {
         // But in this case the parent control of the button
         // would be this child QDataGrid, don't forget that...
         $person_addresses = Address::QueryCount(QQ::Equal(QQN::Address()->PersonId, $strType->Id));
         if ($person_addresses > 0) {
             $objControl = new QButton($parControl, $strControlId);
             $objControl->Width = 20;
             $objControl->Text = '+';
             $objControl->CssClass = 'inputbutton';
             $objControl->ActionParameter = "{$strType->Id}";
             // Important! for a better coding we want to all
             // actions referer to the child QdataGris stay
             // in the child Qdatagrid, so the actions are now
             // QAjaxControlAction or QServerControlAction, were the
             // controlId parameter is $this, becaouse in $this class
             // is defined the event for this button... kind of easy,
             // and clean.
             $objControl->AddAction(new QClickEvent(), new QAjaxControlAction($this, 'btnToggleRecords_Click', $this->objParentObject->WaitIcon));
         } else {
             // No addresses to expand; we'll use an empty label control to signify that
             $objControl = new QLabel($parControl, $strControlId);
             $objControl->Text = '';
         }
     }
     // We pass the parameter of "false" to make sure the control doesn't render
     // itself RIGHT HERE - that it instead returns its string rendering result.
     return $objControl->Render(false);
 }
Ejemplo n.º 2
0
 /**
  * Main utility method to aid with data binding.  It is used by the default BindAllRows() databinder but
  * could and should be used by any custom databind methods that would be used for instances of this
  * MetaDataGrid, by simply passing in a custom QQCondition and/or QQClause. 
  *
  * If a paginator is set on this DataBinder, it will use it.  If not, then no pagination will be used.
  * It will also perform any sorting (if applicable).
  *
  * @param QQCondition $objConditions override the default condition of QQ::All() to the query, itself
  * @param QQClause[] $objOptionalClauses additional optional QQClause object or array of QQClause objects for the query		 
  * @return void
  */
 public function MetaDataBinder(QQCondition $objCondition = null, $objOptionalClauses = null)
 {
     // Setup input parameters to default values if none passed in
     if (!$objCondition) {
         $objCondition = QQ::All();
     }
     $objClauses = $objOptionalClauses ? $objOptionalClauses : array();
     // We need to first set the TotalItemCount, which will affect the calcuation of LimitClause below
     if ($this->Paginator) {
         $this->TotalItemCount = Address::QueryCount($objCondition, $objClauses);
     }
     // If a column is selected to be sorted, and if that column has a OrderByClause set on it, then let's add
     // the OrderByClause to the $objClauses array
     if ($objClause = $this->OrderByClause) {
         array_push($objClauses, $objClause);
     }
     // Add the LimitClause information, as well
     if ($objClause = $this->LimitClause) {
         array_push($objClauses, $objClause);
     }
     // Set the DataSource to be a Query result from Address, given the clauses above
     $this->DataSource = Address::QueryArray($objCondition, $objClauses);
 }
Ejemplo n.º 3
0
 /**
  * Count Addresses
  * by CreatedBy Index(es)
  * @param integer $intCreatedBy
  * @return int
  */
 public static function CountByCreatedBy($intCreatedBy)
 {
     // Call Address::QueryCount to perform the CountByCreatedBy query
     return Address::QueryCount(QQ::Equal(QQN::Address()->CreatedBy, $intCreatedBy));
 }
Ejemplo n.º 4
0
 /**
  * Count Addresses
  * by VerificationCheckedFlag Index(es)
  * @param boolean $blnVerificationCheckedFlag
  * @return int
  */
 public static function CountByVerificationCheckedFlag($blnVerificationCheckedFlag, $objOptionalClauses = null)
 {
     // Call Address::QueryCount to perform the CountByVerificationCheckedFlag query
     return Address::QueryCount(QQ::Equal(QQN::Address()->VerificationCheckedFlag, $blnVerificationCheckedFlag), $objOptionalClauses);
 }
Ejemplo n.º 5
0
 /**
  * Count Addresses
  * by CreatedBy Index(es)
  * @param integer $intCreatedBy
  * @return int
  */
 public static function CountByCreatedBy($intCreatedBy, $objOptionalClauses = null)
 {
     // Call Address::QueryCount to perform the CountByCreatedBy query
     return Address::QueryCount(QQ::Equal(QQN::Address()->CreatedBy, $intCreatedBy), $objOptionalClauses);
 }