protected override Row CreateRow(int id, int columnCount)
        {
            CustomDataRow customDataRow = new CustomDataRow(id);

            customDataRow.DataCells = new DataCellList(columnCount);
            return(customDataRow);
        }
 public override void DataRegionContentsSetExprHost(ObjectModelImpl reportObjectModel, bool traverseDataRegions)
 {
     if (this.m_dataRows != null && this.m_dataRows.Count > 0)
     {
         IList <DataCellExprHost> list = (this.m_criExprHost != null) ? this.m_criExprHost.CellHostsRemotable : null;
         if (list != null)
         {
             for (int i = 0; i < this.m_dataRows.Count; i++)
             {
                 CustomDataRow customDataRow = this.m_dataRows[i];
                 Global.Tracer.Assert(customDataRow != null && null != customDataRow.Cells, "(null != row && null != row.Cells)");
                 for (int j = 0; j < customDataRow.DataCells.Count; j++)
                 {
                     DataCell dataCell = customDataRow.DataCells[j];
                     Global.Tracer.Assert(dataCell != null && null != dataCell.DataValues, "(null != cell && null != cell.DataValues)");
                     if (dataCell.ExpressionHostID >= 0)
                     {
                         dataCell.DataValues.SetExprHost(list[dataCell.ExpressionHostID].DataValueHostsRemotable, reportObjectModel);
                     }
                 }
             }
         }
     }
     else
     {
         Global.Tracer.Assert(this.m_criExprHost == null || this.m_criExprHost.CellHostsRemotable == null || this.m_criExprHost.CellHostsRemotable.Count == 0);
     }
 }