Ejemplo n.º 1
0
        private void ShowBidTenders()
        {
            #region Code for preparing the DataTable
            BidTenderTransaction bt = new BidTenderTransaction();
            int       count         = 0;
            DataTable dtTenders     = bt.GetBidTenders(connstring, ViewState[Constant.SESSION_BIDREFNO].ToString().Trim(), ViewState[Constant.SESSION_USERID].ToString().Trim(), ref count);
            Session["Mode_BidTenders"] = ((count == 0) ? "Add" : "Edit");

            //Create an instance of DataTable
            DataTable  dt   = new DataTable();
            DataColumn dcol = new DataColumn(ID, typeof(System.String));
            dcol = new DataColumn("ITEM", typeof(System.String));
            dt.Columns.Add(dcol);
            dcol = new DataColumn("AMOUNT", typeof(System.String));
            dt.Columns.Add(dcol);
            dcol = new DataColumn("TENDERDATE", typeof(System.String));
            dt.Columns.Add(dcol);
            dcol = new DataColumn("BIDTENDERNO", typeof(System.String));
            dt.Columns.Add(dcol);
            dcol = new DataColumn("BIDDETAILNO", typeof(System.String));
            dt.Columns.Add(dcol);

            //Now add data for dynamic columns
            for (int i = 0; i < dtTenders.Rows.Count; i++)
            {
                //Create a new row
                DataRow drow = dt.NewRow();
                drow["ITEM"]        = dtTenders.Rows[i]["ITEM"].ToString().Trim();
                drow["AMOUNT"]      = ((i == dtTenders.Rows.Count - 1) ? "Last|" + dtTenders.Rows[i]["AMOUNT"].ToString().Trim() : dtTenders.Rows[i]["AMOUNT"].ToString().Trim());
                drow["TENDERDATE"]  = "DATE|" + dtTenders.Rows[i]["TENDERDATEMONTH"].ToString().Trim() + "/" + dtTenders.Rows[i]["TENDERDATEDAY"].ToString().Trim() + "/" + dtTenders.Rows[i]["TENDERDATEYEAR"].ToString().Trim();
                drow["BIDTENDERNO"] = dtTenders.Rows[i]["BIDTENDERNO"].ToString().Trim();
                drow["BIDDETAILNO"] = dtTenders.Rows[i]["BIDDETAILNO"].ToString().Trim();
                dt.Rows.Add(drow);
            }

            IOClass IO = new IOClass();
            IO.WriteIndexToFile(dtTenders.Rows.Count.ToString().Trim(), Session[Constant.SESSION_USERID].ToString().Trim());

            BidTenderGeneral bidtender = new BidTenderGeneral();
            bidtender = bt.QueryBidTendersGeneral(ViewState[Constant.SESSION_BIDREFNO].ToString().Trim(), ViewState[Constant.SESSION_USERID].ToString().Trim());
            Session["Mode_BidTendersGeneral"] = bidtender.Mode_BidTendersGeneral.ToString().Trim();

            DataRow drow1 = dt.NewRow();
            drow1["ITEM"]       = "Discount";
            drow1["AMOUNT"]     = "Discount|" + bidtender.Discount.ToString().Trim();
            drow1["TENDERDATE"] = "Discount|NONE";
            dt.Rows.Add(drow1);
            DataRow drow2 = dt.NewRow();
            drow2["ITEM"]       = "Total Cost";
            drow2["AMOUNT"]     = "Total Cost|" + bidtender.TotalCost.ToString().Trim();
            drow2["TENDERDATE"] = "Total Cost|NONE";
            dt.Rows.Add(drow2);
            DataRow drow3 = dt.NewRow();
            drow3["ITEM"]       = "Delivery Cost";
            drow3["AMOUNT"]     = "Delivery Cost|" + bidtender.DeliveryCost.ToString().Trim();
            drow3["TENDERDATE"] = "Delivery Cost|NONE";
            dt.Rows.Add(drow3);
            DataRow drow4 = dt.NewRow();
            drow4["ITEM"]       = "Total Extended Cost";
            drow4["AMOUNT"]     = "Total Extended Cost|" + bidtender.TotalExtendedCost.ToString().Trim();
            drow4["TENDERDATE"] = "Total Extended Cost|NONE";
            dt.Rows.Add(drow4);
            DataRow drow5 = dt.NewRow();
            drow5["ITEM"]       = "Incoterm";
            drow5["AMOUNT"]     = "Incoterm|" + bidtender.Incoterm.ToString().Trim();
            drow5["TENDERDATE"] = "Incoterm|NONE";
            dt.Rows.Add(drow5);
            DataRow drow6 = dt.NewRow();
            drow6["ITEM"]       = "Payment Terms";
            drow6["AMOUNT"]     = "Payment Terms|" + bidtender.PaymentTerms.ToString().Trim();
            drow6["TENDERDATE"] = "Payment Terms|NONE";
            dt.Rows.Add(drow6);
            DataRow drow7 = dt.NewRow();
            drow7["ITEM"]       = "Warranty";
            drow7["AMOUNT"]     = "Warranty|" + bidtender.Warranty.ToString().Trim();
            drow7["TENDERDATE"] = "Warranty|NONE";
            dt.Rows.Add(drow7);
            DataRow drow8 = dt.NewRow();
            drow8["ITEM"]       = "Remarks";
            drow8["AMOUNT"]     = "Remarks|" + bidtender.Remarks.ToString().Trim();
            drow8["TENDERDATE"] = "Remarks|NONE";
            dt.Rows.Add(drow8);

            #endregion

            //Iterate through the columns of the datatable to set the data bound field dynamically.
            foreach (DataColumn col in dt.Columns)
            {
                //Declare the bound field and allocate memory for the bound field.
                CustomBoundField bfield = new CustomBoundField();
                //Initalize the DataField value.
                bfield.DataField            = col.ColumnName;
                bfield.HeaderStyle.CssClass = "itemDetails_th";
                switch (col.ColumnName)
                {
                case "ITEM":
                    //Initialize the HeaderText field value.
                    bfield.HeaderText         = "Item";
                    bfield.HeaderType         = Constant.HEADER_TYPE_LABEL.ToString().Trim();
                    bfield.ItemStyle.CssClass = "itemDetails_td";
                    bfield.DataField          = "ITEM";
                    bfield.VendorId           = Session[Constant.SESSION_USERID].ToString().Trim();
                    bfield.Editable           = false;
                    bfield.Date      = false;
                    bfield.Label2    = false;
                    bfield.Label4    = true;
                    bfield.LabelDate = false;
                    break;

                case "AMOUNT":
                    //Initialize the HeaderText field value.
                    bfield.HeaderText         = "Item Cost";
                    bfield.HeaderType         = Constant.HEADER_TYPE_LABEL.ToString().Trim();
                    bfield.DataField          = "AMOUNT";
                    bfield.ItemStyle.CssClass = "valueGridItem";
                    bfield.VendorId           = Session[Constant.SESSION_USERID].ToString().Trim();
                    bfield.Editable           = false;
                    bfield.Date      = false;
                    bfield.Label2    = true;
                    bfield.Label4    = false;
                    bfield.LabelDate = false;
                    break;

                case "TENDERDATE":
                    //Initialize the HeaderText field value.
                    bfield.HeaderText         = "Delivery Date";
                    bfield.HeaderType         = Constant.HEADER_TYPE_LABEL.ToString().Trim();
                    bfield.ItemStyle.CssClass = "valueGridItem";
                    bfield.DataField          = "TENDERDATE";
                    bfield.VendorId           = Session[Constant.SESSION_USERID].ToString().Trim();
                    bfield.Editable           = false;
                    bfield.Date      = false;
                    bfield.Label2    = false;
                    bfield.Label4    = false;
                    bfield.LabelDate = true;
                    break;

                case "BIDTENDERNO":
                    //Initialize the HeaderText field value.
                    bfield.HeaderText = col.ColumnName;
                    bfield.Visible    = false;
                    bfield.HeaderType = Constant.HEADER_TYPE_LABEL.ToString().Trim();
                    bfield.DataField  = "BIDTENDERNO";
                    bfield.Editable   = false;
                    bfield.Date       = false;
                    break;

                case "BIDDETAILNO":
                    //Initialize the HeaderText field value.
                    bfield.HeaderText = col.ColumnName;
                    bfield.Visible    = false;
                    bfield.HeaderType = Constant.HEADER_TYPE_LABEL.ToString().Trim();
                    bfield.DataField  = "BIDDETAILNO";
                    bfield.Editable   = false;
                    bfield.Date       = false;
                    break;
                }

                //Add the newly created bound field to the GridView.
                gvBids.Columns.Add(bfield);
            }


            gvBids.DataSource = dt;
            gvBids.DataBind();
        }
Ejemplo n.º 2
0
    /// <summary>
    /// Adds columns to GridView in custom order.
    /// This method has to be implemented for every GridView that has user customizable column order.
    /// </summary>
    /// <param name="colOrderList">Defines the order of columns.</param>
    private void AddColumnsInCustomOrder(GridView gridview, ColumnOrderList colOrderList)
    {
        // TODO: Localization to header texts

        gridview.Columns.Clear();

        // Static fields
        CustomButtonField cbtField = new CustomButtonField();

        cbtField.HeaderID = null; // not a user customizable field
        //cbtField.HeaderText = "<a href=\"javascript:showOrderCustomizer('divColumnOrderCustomizer')\"><img src='/Resources/img/properties.gif' style='border-width:0px' alt='Properties'/></a>";
        cbtField.HeaderText  = "<a href=\"javascript:showOrderCustomizer('" + columnOrderCustomizer.showColumnOrderCustomizer + "', '" + columnOrderCustomizer.ID + "')\"><img src='/Resources/img/properties.gif' style='border-width:0px' alt='Properties'/></a>";
        cbtField.ButtonType  = ButtonType.Link;
        cbtField.CommandName = "Select";
        cbtField.Visible     = true;
        cbtField.Text        = "<img src='/Resources/img/tablearrows/" + COMPANY_CODE + "/right_arrow.gif' style='border-width:0px'/>";
        gridview.Columns.Add(cbtField);

        // User customizable fields
        foreach (ColumnOrderInfo colOrder in colOrderList)
        {
            switch (colOrder.ID)
            {
            case "NUMBER":
                CustomBoundField cbf1 = new CustomBoundField();
                cbf1.HeaderID       = "NUMBER";
                cbf1.HeaderText     = "Number";
                cbf1.DataField      = "ErrandId";
                cbf1.SortExpression = "Number";
                cbf1.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf1);
                break;

            case "TYPE":
                CustomBoundField cbf2 = new CustomBoundField();
                cbf2.HeaderID       = "TYPE";
                cbf2.HeaderText     = "Type";
                cbf2.DataField      = "ErrandType";
                cbf2.SortExpression = "Type";
                cbf2.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf2);
                break;

            case "STATUS":
                CustomBoundField cbf3 = new CustomBoundField();
                cbf3.HeaderID       = "STATUS";
                cbf3.HeaderText     = "Status";
                cbf3.DataField      = "Status";
                cbf3.SortExpression = "Status";
                cbf3.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf3);
                break;

            case "CHANNEL":
                CustomBoundField cbf4 = new CustomBoundField();
                cbf4.HeaderID       = "CHANNEL";
                cbf4.HeaderText     = "Channel";
                cbf4.DataField      = "Channel";
                cbf4.SortExpression = "Channel";
                cbf4.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf4);
                break;

            case "CUSTNAME":
                CustomBoundField cbf5 = new CustomBoundField();
                cbf5.HeaderID       = "CUSTNAME";
                cbf5.HeaderText     = "Cust. name";
                cbf5.DataField      = "CustomerName";
                cbf5.SortExpression = "Cust. name";
                cbf5.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf5);
                break;

            case "HANDLER":
                CustomBoundField cbf6 = new CustomBoundField();
                cbf6.HeaderID       = "HANDLER";
                cbf6.HeaderText     = "Handler";
                cbf6.DataField      = "Handler";
                cbf6.SortExpression = "Handler";
                cbf6.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf6);
                break;

            case "CREATION_DATE":
                CustomBoundField cbf7 = new CustomBoundField();
                cbf7.HeaderID       = "CREATION_DATE";
                cbf7.HeaderText     = "Cre. date";
                cbf7.DataField      = "ErrandDate";
                cbf7.SortExpression = "Cre. date";
                cbf7.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf7);
                break;

            case "DUE_DATE":
                CustomBoundField cbf8 = new CustomBoundField();
                cbf8.HeaderID       = "DUE_DATE";
                cbf8.HeaderText     = "Due date";
                cbf8.DataField      = "TimeoutDate";
                cbf8.SortExpression = "Due date";
                cbf8.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf8);
                break;

            case "RESPONSIBLE_AREA":
                CustomBoundField cbf9 = new CustomBoundField();
                cbf9.HeaderID       = "RESPONSIBLE_AREA";
                cbf9.HeaderText     = "Resp. area";
                cbf9.DataField      = "ResponsibleArea";
                cbf9.SortExpression = "Resp. area";
                cbf9.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf9);
                break;

            case "DELSITEADDRESS":
                CustomBoundField cbf10 = new CustomBoundField();
                cbf10.HeaderID       = "DELSITEADDRESS";
                cbf10.HeaderText     = "Del. site addr.";
                cbf10.DataField      = "DeliverySiteAddress";
                cbf10.SortExpression = "Del. site addr.";
                cbf10.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf10);
                break;

            case "ATTACHMENT":
                CustomBoundField cbf11 = new CustomBoundField();
                cbf11.HeaderID       = "ATTACHMENT";
                cbf11.HeaderText     = "Appendix";
                cbf11.DataField      = "Filename";
                cbf11.SortExpression = "Appendix";
                cbf11.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf11);
                break;

            case "CUSTNUM":
                CustomBoundField cbf12 = new CustomBoundField();
                cbf12.HeaderID       = "CUSTNUM";
                cbf12.HeaderText     = "Cust. num";
                cbf12.DataField      = "CustomerNumber";
                cbf12.SortExpression = "Cust. num";
                cbf12.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf12);
                break;

            case "HEADER":
                CustomBoundField cbf13 = new CustomBoundField();
                cbf13.HeaderID       = "HEADER";
                cbf13.HeaderText     = "Header";
                cbf13.DataField      = "Header";
                cbf13.SortExpression = "Header";
                cbf13.Visible        = colOrder.Visible;
                gridview.Columns.Add(cbf13);
                break;

            default:
                throw new Exception("Unknown id in the column order list.");
            }
        }
    }