Esempio n. 1
0
    private GVTable ConvertToGVTable(object source)
    {
        List <string> rowData  = new List <string>();
        GVTable       theTable = new GVTable();

        theTable.Rows = new List <GVRow>();
        IEnumerable enumerable = DataSource as IEnumerable;

        foreach (object item in enumerable.OfType <object>())
        {
            GVRow               rowItem  = new GVRow();
            List <GVCell>       cellList = new List <GVCell>();
            var                 type     = item.GetType().BaseType;
            List <PropertyInfo> infoList = item.GetType().GetRuntimeProperties().ToList();
            foreach (PropertyInfo objectField in infoList)
            {
                GVCell cell  = new GVCell();
                string Type  = objectField.PropertyType.ToString();
                string Name  = objectField.Name;
                string Value = objectField.GetValue(item).ToString();
                cell.Type  = Type;
                cell.Name  = Name;
                cell.Value = Value;
                cellList.Add(cell);
            }
            rowItem.RowData = cellList;
            theTable.Rows.Add(rowItem);
        }
        return(theTable);
    }
Esempio n. 2
0
    public override void DataBind()
    {
        // TODO: It currently databinds twice due to PageLoad - Need to fix that
        pnlGridView.Controls.Clear();
        gvTable = ConvertToGVTable(DataSource);
        List <GVRow> rowList = gvTable.Rows;

        rowList = rowList.GetRange(CurrentPage * ItemsPerPage, ItemsPerPage).ToList();

        Table displayTable = new Table();

        displayTable.CssClass = "rgvtable";
        TableRow headerRow = new TableRow();

        headerRow.CssClass = "rgvheader";
        displayTable.Rows.Add(headerRow);
        // Headers
        GVRow firstRow = rowList[0];

        foreach (var item in firstRow.RowData)
        {
            TableCell headerCell = new TableCell();
            headerCell.CssClass = "rgvheader";
            headerCell.Text     = item.Name;
            headerRow.Cells.Add(headerCell);
        }
        // Data
        foreach (GVRow row in rowList)
        {
            TableRow dataRow = new TableRow();
            dataRow.CssClass = "rgvdata";
            displayTable.Rows.Add(dataRow);
            foreach (GVCell cell in row.RowData)
            {
                TableCell dataCell = new TableCell();
                dataCell.CssClass = "rgvdata";
                dataCell.Text     = cell.Value;
                dataRow.Cells.Add(dataCell);
            }
        }

        // Footer - Probably paging here
        TableRow footerRow = new TableRow();

        displayTable.Rows.Add(footerRow);
        TableCell footerCell = new TableCell();

        footerRow.Cells.Add(footerCell);
        footerCell.ColumnSpan      = rowList[0].RowData.Count;
        footerCell.HorizontalAlign = HorizontalAlign.Center;
        leftButton.Text            = "<";
        leftButton.ID     = "btnPageLeft";
        leftButton.Click += btnPageLeft_Click;
        footerCell.Controls.Add(leftButton);
        Button rightButton = new Button();

        rightButton.Text   = ">";
        rightButton.ID     = "btnPageRight";
        rightButton.Click += btnPageRight_Click;
        footerCell.Controls.Add(rightButton);
        pnlGridView.Controls.Add(displayTable);
    }
Esempio n. 3
0
 private void ReloadTable()
 {
     GVTable.DataSource = this.Crud().Select();
     GVTable.DataBind();
     SaveLog("Consultou Informações");
 }