diff options
Diffstat (limited to 'framework/Web/UI/WebControls/TListControl.php')
-rw-r--r-- | framework/Web/UI/WebControls/TListControl.php | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/framework/Web/UI/WebControls/TListControl.php b/framework/Web/UI/WebControls/TListControl.php index 55a46171..67f5555a 100644 --- a/framework/Web/UI/WebControls/TListControl.php +++ b/framework/Web/UI/WebControls/TListControl.php @@ -161,15 +161,19 @@ abstract class TListControl extends TDataBoundControl foreach($data as $key=>$object)
{
$item=new TListItem;
- if(!is_string($object) && isset($object[$textField]))
- $text=$object[$textField];
+ if(is_array($object) || is_object($object))
+ {
+ $text=TDataFieldAccessor::getDataFieldValue($object,$textField);
+ $value=TDataFieldAccessor::getDataFieldValue($object,$valueField);
+ $item->setValue($value);
+ }
else
- $text=TPropertyValue::ensureString($object);
+ {
+ $text=$object;
+ if(is_string($key))
+ $item->setValue($key);
+ }
$item->setText($textFormat===''?$text:sprintf($textFormat,$text));
- if(!is_string($object) && isset($object[$valueField]))
- $item->setValue($object[$valueField]);
- else if(!is_integer($key))
- $item->setValue($key);
$items->add($item);
}
}
|