예제 #1
0
 public static function build($value)
 {
     /*DocumentBuilder*/
     $builder = new DocumentBuilder();
     if (DataUtils::valueIsMethod($value)) {
         return $builder->buildOnMethod($value);
     } else {
         if (DataUtils::valueIsLink($value)) {
             return $builder->buildOnURLTemplate($value);
         } else {
             if (DataUtils::valueIsFile($value)) {
                 return $builder->buildOnFileTemplate($value);
             } else {
                 return $builder->buildOnString($value);
             }
         }
     }
 }
예제 #2
0
 protected function generateFromArray($array)
 {
     if ($array == null) {
         $array = $this->dataProvider;
     }
     parent::generateFromArray($array);
     if (count($this->dataProviderList) == 0) {
         throw new Exception("DataProvider is empty");
     } else {
         if ($this->dataProviderList[0][DataUtils::$METHOD_WORD] != null) {
             if (DataUtils::valueIsMethod($this->dataProviderList[0][DataUtils::$METHOD_WORD])) {
                 $this->generateFromString($this->dataProviderList[0][DataUtils::$METHOD_WORD]);
             } else {
                 $this->generateFromString(DataUtils::$METHOD_CODE + $this->dataProviderList[0][DataUtils::$METHOD_WORD]);
             }
         } else {
             foreach ($this->dataProviderList as $key => $val) {
                 if (DataUtils::valueIsMethod($val)) {
                     $this->generateFromString($val);
                 }
             }
         }
     }
 }
 /**
  * Generate data provider array (dataProviderList) based on Object array
  * 
  * @param array income Object array each member of it could be 
  * 				HashMap, Object or Object[]
  * @throws DocumentException
  */
 protected function generateFromArray($array)
 {
     if (count($array) == 1) {
         foreach ($array as $val) {
             if (DataUtils::valueIsMethod($val)) {
                 $this->generateFromString($val);
                 return;
             }
             break;
         }
     }
     $this->dataProviderList = array();
     for ($i = 0; $i < count($array); $i++) {
         $item = array();
         $this->populateRow($item, $array[$i]);
         $this->dataProviderList[] = $item;
     }
 }
예제 #4
0
 protected function generateFromArray($array)
 {
     parent::generateFromArray($array);
     if (count($this->dataProviderList) == 0) {
         throw new DocumentBuildException("DataProvider is empty");
     } else {
         if ($this->dataProviderList[0][DataUtils::$METHOD_WORD] != null) {
             $this->columns = null;
             if (DataUtils::valueIsMethod($this->dataProviderList[0][DataUtils::$METHOD_WORD])) {
                 $this->generateFromString($this->dataProviderList[0][DataUtils::$METHOD_WORD]);
             } else {
                 $this->generateFromString(DataUtils::$METHOD_CODE . $this->dataProviderList[0][DataUtils::$METHOD_WORD]);
             }
             return;
         } else {
             if (count($this->dataProviderList[0]) == 1) {
                 foreach ($this->dataProviderList[0] as $itemValue) {
                     if (DataUtils::valueIsMethod($itemValue)) {
                         $this->generateFromString($itemValue);
                         return;
                     }
                 }
             }
         }
     }
     if ($this->columns == null || count($this->columns) == 0) {
         $this->columns = array();
         //new DataGridColumn[colnames.length];
         foreach ($this->dataProviderList[0] as $key => $value) {
             /*DataGridColumn*/
             $col = new DataGridColumn();
             $col->dataField = $key;
             $col->width = $this->getColumnWidth($col);
             $this->columns[] = $col;
         }
     }
 }