示例#1
0
 /**
  * Create and setup QListBox lstNameItems
  * @param string $strControlId optional ControlId to use
  * @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 QListBox
  */
 public function lstNameItems_Create($strControlId = null, QQCondition $objCondition = null, $objOptionalClauses = null)
 {
     $this->lstNameItems = new QListBox($this->objParentObject, $strControlId);
     $this->lstNameItems->Name = QApplication::Translate('Name Items');
     $this->lstNameItems->SelectionMode = QSelectionMode::Multiple;
     // We need to know which items to "Pre-Select"
     $objAssociatedArray = $this->objPerson->GetNameItemArray();
     // Setup and perform the Query
     if (is_null($objCondition)) {
         $objCondition = QQ::All();
     }
     $objNameItemCursor = NameItem::QueryCursor($objCondition, $objOptionalClauses);
     // Iterate through the Cursor
     while ($objNameItem = NameItem::InstantiateCursor($objNameItemCursor)) {
         $objListItem = new QListItem($objNameItem->__toString(), $objNameItem->Id);
         foreach ($objAssociatedArray as $objAssociated) {
             if ($objAssociated->Id == $objNameItem->Id) {
                 $objListItem->Selected = true;
             }
         }
         $this->lstNameItems->AddItem($objListItem);
     }
     // Return the QListControl
     return $this->lstNameItems;
 }