LanerBoxView.insertSeries

Syntax

insertSeries (index, seriesCount, addExpander, callback);

Parameters

index. Series insert position.

seriesCount. Number of inserted series.

addExpander. Indicates whether to add an expander for the row.

callback. Handler that processes operation execution end.

Description

The insertSeries method inserts a row into the table.

Example

To execute the example, the page must contain the WorkbookBox component named workbookBox (see Example of Creating the WorkbookBox Component), and also add the following code in the handler, that processes document opening event:

// Create an instance of the button class
var series;
var btnInsertSerie = new PP.Ui.Button({
	ParentNode: document.body, //DOM parent node
	Content: "Add row", //text
	Click: PP.Delegate(insertSrs)
});
var lanerbox = workbookBox.getDataView().getGridView();
function insertSrs()
	{
		var source = wbk;//Return an instance of the PP.TS.WbkDocument class
		//Create an object that is passed as parameters to the getAddSeriesSettings method
		series = [];
		var serie = {};
		//Set series key
		serie.k = "0";
		//Set series identifier
		serie.id = "";
		//Set series name in the language corresponding to the current locale
		serie.n = PP.resourceManager.getString("WbkNewSerie") + " " + tsService._NewSeriesCount;
		//Iterate series counter in the workbook
		tsService._NewSeriesCount++;
		//Set series visibility
		serie.vis = True;
		//Set series type
		serie.kind = "Source";
		//Set series tooltip
		serie.hint = "";
		//Set series formula
		serie.calc = {};
		//Get and set series index
		serie.index = tsService._getMaxNonChildSerieIndex(wbk) + 1;
		if (source.getWbkMetadata().rubrs.def)
		serie.calc.rubKey = source.getWbkMetadata().rubrs.def.k;
		else serie.calc.rubKey = source.getHier().getMetadata().obInst.obDesc.k;
		series.push(serie);
		serie.atts = { its: { it: []} };
		serie.level = "Month";
		//Get body of request for adding series to workbook
		var body = tsService.getAddSeriesSettings(source, series,  True);
		wbk.setIsChanged(True);
		tsService._invokeRemoteProc(source, body, function(sender, args)
			{
				//Insert row to table
				lanerbox.insertSeries(0);
			});
		removeSeriesButt.setEnabled(True);
		btnInsertSerie.setEnabled(False);
	}  
var removeSeriesButt = new PP.Ui.Button({
	ParentNode: document.body, //DOM parent node
	Content: "Remove last row", //Label
	Click: PP.Delegate(onClickRemoveSeries),
	Enabled: False
});
function onClickRemoveSeries()
	{
		var wbk = args.Workbook;
		//Get last series
		var serie = [wbk.getActiveSheet().getSeries()[wbk.getActiveSheet().getSeries().length - 1]];
		//Remove last series from workbook
		tsService.removeSeries(wbk, serie, PP.Delegate(onResponse));
		function onResponse(sender, args)
			{
				var seriesTabSheetIndexes = [3];
				var meta = JSON.parse(args.ResponseText);
				//Remove series from table
				lanerbox.removeSeries(serie, seriesTabSheetIndexes, meta);
			}
		removeSeriesButt.setEnabled(False);
		btnInsertSerie.setEnabled(True);
	}

After executing the example the Add Row and Delete the Last Row button are added to the HTML page. Clicking the Add Row button adds a new row in the table, clicking the Delete the Last Row button removes the last row.

See also:

LanerBoxView