GridLayout.itemInfo property

[itenInfo is no longer available for use as of Windows Library for JavaScript 2.0. Instead, use CellSpanningLayout.]

This property is no longer supported. Starting with the Windows Library for JavaScript 2.0, use a CellSpanningLayout. Gets or sets a function that returns the width and height of an item, as well as whether it should appear in a new column. Setting this function improves performance because the ListView can allocate space for an item without having to measure it first.


var itemInfo = gridLayout.itemInfo;
gridLayout.itemInfo = itemInfo;

Property value

Type: Function

A function that takes a single parameter:

  • itemIndex
    The index of the item to render.

The function returns an object that contains these properties:


The total width of the item, which includes the item width, left and right padding, left and right border, and left and right margin.


The total height of the item, which includes the item height, top and bottom padding, top and bottom border, and top and bottom margin.


Set to true to create a column break; otherwise, false.



The values returned by the itemInfo function must be set based on the item index and can't reliably depend on item data.

Because the itemInfo function takes an index (and not an ItemPromise), it can'’t wait for an item to be returned from the data source. This is fine for synchronous data sources, such as WinJS.Binding.List, because the item is readily available and can be looked up by index. It’ is difficult, however, to look up data in an asynchronous data source based on the provided index value (itemIndex), because the items might be added out of order and the data for the items might not yet be available, so your itemInfo function can'’t reliably perform a key-based lookup.



Minimum WinJS version

WinJS 3.0



See also