Class HasManyComplexTableField
ComplexTableField designed to edit a has_many join.
This field allows you to show a 1-to-many relation with a group of DataObjects as a (readonly) tabular list. Its most useful when you want to manage the relationship itself thanks the check boxes present on each line of the table.
Moreover, you can not do any mistake anymore in the relation by checking a DataObject already linked with another of the parent class.
See ComplexTableField for more documentation on the base-class.
Usage
$tablefield = new HasManyComplexTableField( $this, 'MyFruits', 'Fruit', array( 'Name' => 'Name', 'Color' => 'Color' ), 'getCMSFields_forPopup' );
Notice: You still have different ways to customize the popup window as in the
parent-class ComplexTableField.
- Object
-
ViewableData
implements
IteratorAggregate
-
RequestHandler
-
FormField
-
TableListField
-
ComplexTableField
-
HasManyComplexTableField
Direct known subclasses
See: http://doc.silverstripe.org/tutorial/5-dataobject-relationship-management
Located at sapphire/forms/HasManyComplexTableField.php
Methods summary
public
|
#
__construct(
See class comments |
public
String
|
|
public
|
|
public
|
|
public
|
#
saveInto(
Method to save this form field into the given data object. By default, makes use of $this->dataValue() |
public
|
|
public
|
|
public
|
|
public
|
Methods inherited from ComplexTableField
AddForm(),
AddLink(),
IsAddMode(),
ItemCount(),
Items(),
PopupHeight(),
PopupWidth(),
add(),
createFieldSet(),
getCustomFieldsFor(),
getFieldsFor(),
getParentClass(),
getParentIdName(),
getParentIdNameRelation(),
getParentRecord(),
getValidatorFor(),
getViewer(),
handleItem(),
isComposite(),
saveComplexTableField(),
setController(),
setDetailFormValidator(),
setParentClass(),
setParentIdName(),
setPopupCaption(),
setPopupSize(),
setRelationAutoSetting(),
setTemplatePopup(),
sourceClass(),
sourceFilter(),
sourceID()
Methods inherited from TableListField
Actions(),
BaseLink(),
Can(),
CurrentLink(),
ExportLink(),
FieldList(),
FirstItem(),
FirstLink(),
GroupedItems(),
HasGroupedItems(),
HasSummary(),
Headings(),
LastItem(),
LastLink(),
Link(),
ListStart(),
Name(),
NamePlural(),
NameSingular(),
NextLink(),
PageSize(),
PrevLink(),
PrintLink(),
SelectOptions(),
ShowPagination(),
SummaryFields(),
SummaryTitle(),
TotalCount(),
Utility(),
addSelectOptions(),
addSummary(),
ajax_refresh(),
colFunction_avg(),
colFunction_sum(),
delete(),
disableSorting(),
export(),
filterString(),
generateExportFileData(),
getCastedValue(),
getCsvQuery(),
getCsvSeparator(),
getExtraLinkParams(),
getPermissions(),
getQuery(),
index(),
isFieldSortable(),
performReadonlyTransformation(),
permissions_for_object(),
printall(),
removeCsvHeader(),
removeSelectOptions(),
removeSummary(),
setCSVFieldFormatting(),
setClick_AjaxLoad(),
setClick_PopupLoad(),
setCsvSeparator(),
setCustomCsvQuery(),
setCustomQuery(),
setCustomSourceItems(),
setExtraLinkParams(),
setFieldCasting(),
setFieldFormatting(),
setFieldList(),
setFieldListCsv(),
setHighlightConditions(),
setPageSize(),
setPermissions(),
setShowPagination(),
setTemplate(),
sourceItems()
Methods inherited from FormField
Field(),
LeftTitle(),
Message(),
MessageType(),
Required(),
RightTitle(),
SmallFieldHolder(),
Type(),
Value(),
addExtraClass(),
attrName(),
attrTitle(),
attrValue(),
createTag(),
dataValue(),
debug(),
describe(),
extraClass(),
forTemplate(),
getCustomValidationMessage(),
getForm(),
getTabIndex(),
getTabIndexHTML(),
hasClass(),
hasData(),
id(),
isDisabled(),
isReadonly(),
jsValidation(),
name_to_label(),
performDisabledTransformation(),
removeExtraClass(),
rootFieldSet(),
securityTokenEnabled(),
setContainerFieldSet(),
setCustomValidationMessage(),
setDisabled(),
setError(),
setForm(),
setLeftTitle(),
setName(),
setReadonly(),
setRightTitle(),
setTabIndex(),
setTitle(),
setValue(),
transform(),
validate()
Methods inherited from RequestHandler
allowedActions(),
checkAccessAction(),
getRequest(),
handleRequest(),
hasAction(),
httpError()
Methods inherited from ViewableData
ATT_val(),
BaseHref(),
CSSClasses(),
CurrentMember(),
CurrentPage(),
Debug(),
Even(),
EvenOdd(),
First(),
FirstLast(),
HasPerm(),
IsAjax(),
JS_val(),
Last(),
Me(),
Middle(),
MiddleString(),
Modulus(),
MultipleOf(),
Odd(),
Pos(),
RAW_val(),
SQL_val(),
ThemeDir(),
Top(),
TotalItems(),
XML_val(),
__get(),
__isset(),
__set(),
buildCastingCache(),
cachedCall(),
castingClass(),
castingHelper(),
castingHelperPair(),
castingObjectCreator(),
castingObjectCreatorPair(),
customise(),
defineMethods(),
escapeTypeForField(),
getField(),
getIterator(),
getSecurityID(),
getXMLValues(),
hasField(),
hasValue(),
i18nLocale(),
iteratorProperties(),
obj(),
renderWith(),
setCustomisedObj(),
setField()
Methods inherited from Object
__call(),
__toString(),
addMethodsFrom(),
addStaticVars(),
addWrapperMethod(),
add_extension(),
add_static_var(),
allMethodNames(),
cacheToFile(),
cacheToFileWithArgs(),
clearCache(),
combined_static(),
create(),
createMethod(),
create_from_string(),
exists(),
extInstance(),
extend(),
getCustomClass(),
getExtensionInstance(),
getExtensionInstances(),
get_extensions(),
get_static(),
hasExtension(),
hasMethod(),
has_extension(),
invokeWithExtensions(),
is_a(),
loadCache(),
parentClass(),
parse_class_spec(),
remove_extension(),
sanitiseCachename(),
saveCache(),
set_stat(),
set_static(),
set_uninherited(),
stat(),
strong_create(),
uninherited(),
uninherited_static(),
useCustomClass()
Magic methods summary
Properties summary
public
mixed
|
$joinField | |
protected
mixed
|
$addTitle |
#
Determines the fields of the detail pop-up form. It can take many forms: |
protected
string
|
$htmlListEndName | |
protected
string
|
$htmlListField | |
public
string
|
$template |
#
Template for main rendering |
public
string
|
$itemClass |
#
Classname for each row/item |
protected
boolean
|
$relationAutoSetting |
#
Automatically detect a has-one relationship in the popup (=child-class) and save the relation ID. |
Properties inherited from ComplexTableField
$actions,
$controller,
$defaultAction,
$detailFormFields,
$detailFormValidator,
$parentClass,
$parentIdName,
$permissions,
$popupCaption,
$popupClass,
$popupHeight,
$popupWidth,
$requirementsForPopupCallback,
$showPagination,
$sourceItems,
$sourceJoin,
$templatePopup,
$url_handlers,
$viewAction
Properties inherited from TableListField
$IsReadOnly,
$Markable,
$MarkableTitle,
$__cachedQuery,
$cachedSourceItems,
$clickAction,
$csvFieldEscape,
$csvFieldFormatting,
$csvHasHeader,
$csvSeparator,
$customCsvQuery,
$customQuery,
$customSourceItems,
$disableSorting,
$exportButtonLabel,
$extraLinkParams,
$fieldCasting,
$fieldFormatting,
$fieldList,
$fieldListCsv,
$groupByField,
$highlightConditions,
$methodName,
$pageSize,
$paginationBaseLink,
$readOnly,
$selectOptions,
$sourceClass,
$sourceFilter,
$sourceSort,
$summaryFieldList,
$summaryTitle,
$totalCount
Properties inherited from FormField
$containerFieldSet,
$customValidationMessage,
$description,
$disabled,
$dontEscape,
$extraClass,
$extraClasses,
$form,
$leftTitle,
$message,
$messageType,
$name,
$readonly,
$rightTitle,
$tabIndex,
$title,
$value
Properties inherited from RequestHandler
$allowed_actions,
$brokenOnConstruct,
$request
Properties inherited from ViewableData
$casting,
$customisedObject,
$default_cast,
$failover,
$iteratorPos,
$iteratorTotalItems
Comments
Use the Silverstripe Forum to ask questions.