# GC.Spread.Sheets.TableSheet.BuiltInRowActions

## Content

# Class: BuiltInRowActions

[Sheets](../modules/GC.Spread.Sheets).[TableSheet](../modules/GC.Spread.Sheets.TableSheet).BuiltInRowActions

## Table of contents

### Constructors

- [constructor](GC.Spread.Sheets.TableSheet.BuiltInRowActions#constructor)

### Properties

- [dirtyStatus](GC.Spread.Sheets.TableSheet.BuiltInRowActions#dirtystatus)
- [pinRow](GC.Spread.Sheets.TableSheet.BuiltInRowActions#pinrow)
- [removeRow](GC.Spread.Sheets.TableSheet.BuiltInRowActions#removerow)
- [resetRow](GC.Spread.Sheets.TableSheet.BuiltInRowActions#resetrow)
- [saveRow](GC.Spread.Sheets.TableSheet.BuiltInRowActions#saverow)
- [warningInfo](GC.Spread.Sheets.TableSheet.BuiltInRowActions#warninginfo)

## Constructors

### <a id="constructor" name="constructor"></a> constructor

• **new BuiltInRowActions**()

Represent the table sheet built-in row actions.

## Properties

### <a id="dirtystatus" name="dirtystatus"></a> dirtyStatus

▪ `Static` **dirtyStatus**: [`IRowActionOptions`](../interfaces/GC.Spread.Sheets.TableSheet.IRowActionOptions)

Represents the data changes in a row

**`property`** {GC.Spread.Sheets.TableSheet.IRowActionOptions} dirtyStatus - show the data changes in a row.

**`example`**
```javascript
//When the data changed, the dirty status will show on the corresponding row in the TableSheet
var dataManager = spread.dataManager();
var myTable = dataManager.addTable("myTable", {
    autoSync:true,
    remote: {
        read: {
            url: 'https://demodata.mescius.io/northwind/api/v1/Orders'
        }
    }
});
myTable.fetch().then(function() {
    var myView = myTable.addView("myView");
    var tableSheet = spread.addSheetTab(1, "tableSheet1", GC.Spread.Sheets.SheetType.tableSheet);
    tableSheet.setDataView(myView);
    let sheet = spread.sheets[0];
    sheet.setRowCount(myTable.length() + 1);
    sheet.setColumnCount(Object.keys(myTable.columns).length + 1);
    sheet.tables.addFromDataSource("Table1", 0, 0, "myTable", GC.Spread.Sheets.Tables.TableThemes.dark1);
    sheet.setValue(1, 0, 'new value');
});
```

___

### <a id="pinrow" name="pinrow"></a> pinRow

▪ `Static` **pinRow**: [`IRowActionOptions`](../interfaces/GC.Spread.Sheets.TableSheet.IRowActionOptions)

Represents pin a row.

**`property`** {GC.Spread.Sheets.TableSheet.IRowActionOptions} pinRow - pin a row.

**`example`**
```javascript
//When some rows pinned, the pin status will show
tableSheet.togglePinnedRows([1,2,4]);
```

___

### <a id="removerow" name="removerow"></a> removeRow

▪ `Static` **removeRow**: [`IRowActionOptions`](../interfaces/GC.Spread.Sheets.TableSheet.IRowActionOptions)

Represents remove a row.

**`property`** {GC.Spread.Sheets.TableSheet.IRowActionOptions} removeRow - remove a row.

**`example`**
```javascript
let buildInRowActions = GC.Spread.Sheets.TableSheet.BuiltInRowActions;
let options = tableSheet.rowActionOptions();
tableSheet.rowActionOptions(options.concat([buildInRowActions.removeRow,buildInRowActions.saveRow,buildInRowActions.resetRow]));
```

___

### <a id="resetrow" name="resetrow"></a> resetRow

▪ `Static` **resetRow**: [`IRowActionOptions`](../interfaces/GC.Spread.Sheets.TableSheet.IRowActionOptions)

Represents reset the data change.

**`property`** {GC.Spread.Sheets.TableSheet.IRowActionOptions} resetRow - reset the data changes in a row.

**`example`**
```javascript
let buildInRowActions = GC.Spread.Sheets.TableSheet.BuiltInRowActions;
let options = tableSheet.rowActionOptions();
tableSheet.rowActionOptions(options.concat([buildInRowActions.removeRow,buildInRowActions.saveRow,buildInRowActions.resetRow]));
```

___

### <a id="saverow" name="saverow"></a> saveRow

▪ `Static` **saveRow**: [`IRowActionOptions`](../interfaces/GC.Spread.Sheets.TableSheet.IRowActionOptions)

Represents save the data change in a row.

**`property`** {GC.Spread.Sheets.TableSheet.IRowActionOptions} saveRow - save the data changes in a row.

**`example`**
```javascript
let buildInRowActions = GC.Spread.Sheets.TableSheet.BuiltInRowActions;
let options = tableSheet.rowActionOptions();
tableSheet.rowActionOptions(options.concat([buildInRowActions.removeRow,buildInRowActions.saveRow,buildInRowActions.resetRow]));
```

___

### <a id="warninginfo" name="warninginfo"></a> warningInfo

▪ `Static` **warningInfo**: [`IRowActionOptions`](../interfaces/GC.Spread.Sheets.TableSheet.IRowActionOptions)

Represents the text of warning info.

**`property`** {GC.Spread.Sheets.TableSheet.IRowActionOptions} warningInfo - show warning information in a row.

**`example`**
```javascript
//When the remote request failed, the warning status will show on the corresponding row in the TableSheet
var dataManager = spread.dataManager();
var myTable = dataManager.addTable("myTable", {
    autoSync:true,
    remote: {
        read: {
            url: 'https://demodata.mescius.io/northwind/api/v1/Orders'
        },
        create: {
            url: 'https://invalidurl'
        }
    }
});
myTable.fetch().then(function() {
    var myView = myTable.addView("myView");
    var tableSheet = spread.addSheetTab(1, "tableSheet1", GC.Spread.Sheets.SheetType.tableSheet);
    tableSheet.setDataView(myView);
    tableSheet.addRow({id: 8, name: "spreadjs"});
});
```
