# Titanium.UI.TableViewSection

A table view section is a container within a table used to organize table view rows.

Availability
0.9
0.9
9.2.0

# Overview

Use the Titanium.UI.createTableViewSection method or <TableViewSection> Alloy element to create a TableViewSection.

Before the table is rendered, the TableViewSection Titanium.UI.TableViewSection.add method may be used to add Titanium.UI.TableViewRow objects to a section. After it is rendered, one of the TableView Titanium.UI.TableView.insertRowBefore, Titanium.UI.TableView.insertRowAfter, or Titanium.UI.TableView.appendRow methods must be used instead.

To remove a row from a section after the table is rendered, use the TableView Titanium.UI.TableView.deleteRow method.

In order for a section to be visible, either its headerTitle or headerView property must be configured.

Starting in Release 3.0, you can directly manipulate the sections in a table using the following TableView APIs:

Prior to Release 3.0, adding or removing sections individually is not supported. Instead, use the TableView Titanium.UI.TableView.data property to refresh the whole table with a new section layout.

See the description and examples sections of Titanium.UI.TableView for more details about how to use TableViewSection.

Note: On some platforms, TableViewSection may be implemented as a type of view (that is, an object that inherits from Titanium.UI.View). However, this is an implementation detail. For portability, you should only use the documented APIs on table view sections.

# Properties

# footerTitle

Availability
0.9
0.9
9.2.0
footerTitle :String

Title of this section footer.

Using this property and footerView together is not supported. Use one or the other.

On Android, must be set at creation.


# footerView

Availability
0.9
0.9
9.2.0
footerView :Titanium.UI.View

View to use for this section footer.

Using this property and footerTitle together is not supported. Use one or the other.

On Android, must be set at creation.


# headerTitle

Availability
0.9
0.9
9.2.0
headerTitle :String

Title of this section header.

Using this property and headerView together is not supported. Use one or the other.

On Android, must be set at creation.


# headerView

Availability
0.9
0.9
9.2.0
headerView :Titanium.UI.View

View to use for this section header.

Using this property and headerTitle together is not supported. Use one or the other.

On Android, must be set at creation.

In Alloy, you can use a <HeaderView> element inside a <TableViewSection> element:

<Alloy>
    <TableView filterAttribute="title">
        <SearchBar platform="android,ios"/>
        <TableViewSection>
            <HeaderView>
                <View backgroundColor="#a00" height="50dp"/>
            </HeaderView>
            <FooterView>
                <View backgroundColor="#0a0" height="50dp"/>
            </FooterView>
            <TableViewRow title="Row 1"/>
            <TableViewRow title="Row 2"/>
            <TableViewRow title="Row 3"/>
        </TableViewSection>
    </TableView>
</Alloy>

# rowCount READONLY

Availability
0.9
0.9
9.2.0
rowCount :Number

Number of rows in this section.


# rows READONLY

Availability
0.9
0.9
9.2.0

Rows in this section.

# Methods

# add

Availability
0.9
0.9
9.2.0
add(row) void

Adds a table view row to this section.

Should be called before adding the section to a table. Calling add on a section that's already been added to a table does not update the table.

To add a row to a section after it's been added to a table, call one of the TableView methods, insertRowBefore, insertRowAfter, or appendRow.

On Android, it is possible to update a section by adding or removing rows and then resetting the table view's data property. However, this approach is not portable and is not recommended.

Parameters

Name Type Description
row Titanium.UI.TableViewRow

Row to add.

Returns

Type
void

# remove

Availability
0.9
0.9
9.2.0
remove(row) void

Removes a table view row from this section.

Should be called before a section is added to a table. Calling remove on a section that's already been added to a table may throw an exception.

To delete a row once the section is added to a table, use the TableView deleteRow method.

On Android, it is possible to update a section by adding or removing rows and then resetting the table view's data property. However, this approach is not portable and is not recommended.

Parameters

Name Type Description
row Titanium.UI.TableViewRow

Row to remove.

Returns

Type
void

# rowAtIndex

Availability
0.9
rowAtIndex(index) Titanium.UI.TableViewRow

Returns a row in this section.

Parameters

Name Type Description
index Number

Section index of a row.

Returns