Spread ASP.NET 14
FarPoint.Web.Spread Assembly / FarPoint.Web.Spread Namespace / WorksheetLayoutCell Class / DataIndex Property
Example


In This Topic
    DataIndex Property
    In This Topic
    Gets or sets the index of the viewport of a worksheet layout cell.
    Syntax
    'Declaration
     
    Public Property DataIndex As Integer
    'Usage
     
    Dim instance As WorksheetLayoutCell
    Dim value As Integer
     
    instance.DataIndex = value
     
    value = instance.DataIndex
    public int DataIndex {get; set;}
    Remarks
    The DataIndex property does not support duplicate values.
    Example
    This example sets the DataIndex property.
    protected void Page_Load(object sender, System.EventArgs e)
    {
    if (this.IsPostBack) return;
    FpSpread1.ActiveSheetView.LayoutMode = FarPoint.Web.Spread.SheetView.LayoutModeType.RowTemplateLayoutMode;
    FarPoint.Web.Spread.WorksheetTemplate template1 = FpSpread1.Sheets[0].WorksheetTemplate;
    template1.ColumnCount = 3;
    template1.ColumnHeaderTemplate.RowCount = 2;
    template1.RowTemplate.RowCount = 2;
    template1.LayoutColumns[1].Width = 250;
    //Set row template's layout 
    template1.RowTemplate.LayoutCells[1, 1].ColumnSpan = 2;
    //set column header template's layout
    template1.ColumnHeaderTemplate.LayoutCells[0, 0].RowSpan = 2;
    template1.ColumnHeaderTemplate.LayoutCells[1, 1].ColumnSpan = 2;
    
    DataTable dt = new DataTable();
    dt.Columns.Add("ProductID");
    dt.Columns.Add("ProductName");
    dt.Columns.Add("Region");
    dt.Columns.Add("Date");
    dt.Columns.Add("Description");
    dt.Rows.Add(new object[] { 21, "Computer", "China", "2010/1/1", "Using newest display adapter" });
    dt.Rows.Add(new object[] { 36, "Notebook", "Vietnam", "2010/6/1", "Dell" });
    dt.Rows.Add(new object[] { 13, "Hard disk", "Taiwan", "2011/1/1", "Speed is 7200" });
    FpSpread1.Sheets[0].DataSource = dt;
    
    template1.LayoutCells[0, 0].DataIndex = 0;
    template1.LayoutCells[1, 0].DataIndex = 1;
    template1.LayoutCells[0, 1].DataIndex = 2;
    template1.LayoutCells[0, 2].DataIndex = 3;
    template1.LayoutCells[1, 1].DataIndex = 4;
    
    ////Or set RowTemplate's mapping using an older method
    //template1.RowTemplate.LayoutCells[0, 0].DataIndex = 0;
    //template1.RowTemplate.LayoutCells[1, 0].DataIndex = 1;
    //template1.RowTemplate.LayoutCells[0, 1].DataIndex = 2;
    //template1.RowTemplate.LayoutCells[0, 2].DataIndex = 3;
    //template1.RowTemplate.LayoutCells[1, 1].DataIndex = 4;
    ////Set ColumnHeaderTemplate's mapping using an older method
    //template1.ColumnHeaderTemplate.LayoutCells[0, 0].DataIndex = 0;
    //template1.RowTemplate.LayoutCells[1, 0].DataIndex = 1;              //this cell is span in ColumnHeader
    //template1.ColumnHeaderTemplate.LayoutCells[0, 1].DataIndex = 2;
    //template1.ColumnHeaderTemplate.LayoutCells[0, 2].DataIndex = 3;
    //template1.ColumnHeaderTemplate.LayoutCells[1, 1].DataIndex = 4;
    }
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If (IsPostBack) Then
        Return
    End If
    FpSpread1.ActiveSheetView.LayoutMode = FarPoint.Web.Spread.SheetView.LayoutModeType.RowTemplateLayoutMode
    Dim template1 As FarPoint.Web.Spread.WorksheetTemplate = FpSpread1.Sheets(0).WorksheetTemplate
    template1.ColumnCount = 3
    template1.ColumnHeaderTemplate.RowCount = 2
    template1.RowTemplate.RowCount = 2
    template1.LayoutColumns(1).Width = 250
    'Set row template's layout 
    template1.RowTemplate.LayoutCells(1, 1).ColumnSpan = 2
    'set column header template's layout
    template1.ColumnHeaderTemplate.LayoutCells(0, 0).RowSpan = 2
    template1.ColumnHeaderTemplate.LayoutCells(1, 1).ColumnSpan = 2
    
    Dim dt As New DataTable()
    dt.Columns.Add("ProductID")
    dt.Columns.Add("ProductName")
    dt.Columns.Add("Region")
    dt.Columns.Add("Date")
    dt.Columns.Add("Description")
    dt.Rows.Add(New Object() {21, "Computer", "China", "2010/1/1", "Using newest display adapter"})
    dt.Rows.Add(New Object() {36, "Notebook", "Vietnam", "2010/6/1", "Dell"})
    dt.Rows.Add(New Object() {13, "Hard disk", "Taiwan", "2011/1/1", "Speed is 7200"})
    FpSpread1.Sheets(0).DataSource = dt
    
    template1.LayoutCells(0, 0).DataIndex = 0
    template1.LayoutCells(1, 0).DataIndex = 1
    template1.LayoutCells(0, 1).DataIndex = 2
    template1.LayoutCells(0, 2).DataIndex = 3
    template1.LayoutCells(1, 1).DataIndex = 4
    
    'Set RowTemplate's mapping using an older method
    'template1.RowTemplate.LayoutCells(0, 0).DataIndex = 0
    'template1.RowTemplate.LayoutCells(1, 0).DataIndex = 1
    'template1.RowTemplate.LayoutCells(0, 1).DataIndex = 2
    'template1.RowTemplate.LayoutCells(0, 2).DataIndex = 3
    'template1.RowTemplate.LayoutCells(1, 1).DataIndex = 4
    'Set ColumnHeaderTemplate's mapping using an older method
    'template1.ColumnHeaderTemplate.LayoutCells(0, 0).DataIndex = 0
    'template1.RowTemplate.LayoutCells(1, 0).DataIndex = 1            'this cell is span in ColumnHeader
    'template1.ColumnHeaderTemplate.LayoutCells(0, 1).DataIndex = 2
    'template1.ColumnHeaderTemplate.LayoutCells(0, 2).DataIndex = 3
    'template1.ColumnHeaderTemplate.LayoutCells(1, 1).DataIndex = 4
    End Sub
    See Also