private void FillGridRouting()
    {
        /*gridRouting.BorderStyle = BorderStyle.Solid;
         * gridRouting.BorderWidth = 2;
         * gridRouting.BorderColor = System.Drawing.Color.Black;*/

        List <string> opers = new List <string>();

        opers.Add("OpNam");

        TemplateField    template3     = new TemplateField();
        GridViewTemplate itemTemplate3 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "opnam1", "lblOperFr");

        template3.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate3.InstantiateIn(container);
        },
                                                                     delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["ToOpName"]       = ((Label)container.FindControl("lblOperTo")).Text;
            dict["Per"]            = ((Label)container.FindControl("lblPer")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("lblOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("lbltonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("lblfromnum")).Text;
            return(dict);
        });
        GridViewTemplate editTemplate3 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "opnam1", "txtOperFr");

        template3.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editTemplate3.InstantiateIn(container);
        },
                                                                         delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["ToOpName"]       = ((Label)container.FindControl("txtOperTo")).Text;
            dict["Per"]            = ((TextBox)container.FindControl("txtPer")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("txtOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("txttonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("txtfromnum")).Text;
            return(dict);
        });
        template3.HeaderTemplate = new GridViewTemplate("From Operation", "Operation that the product is coming from.", "lblOperFrom");
        gridRouting.Columns.Add(template3);

        TemplateField    template = new TemplateField();
        GridViewTemplate itemTemplate;

        itemTemplate          = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "ToOpName", "lblOperTo");
        template.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate.InstantiateIn(container);
        },
                                                                    delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["ToOpName"]       = ((Label)container.FindControl("lblOperTo")).Text;
            dict["Per"]            = ((Label)container.FindControl("lblPer")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("lblOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("lbltonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("lblfromnum")).Text;
            return(dict);
        });

        GridViewTemplate editTemplate;

        editTemplate = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "ToOpName", "txtOperTo");
        template.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editTemplate.InstantiateIn(container);
        },
                                                                        delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["ToOpName"]       = ((Label)container.FindControl("txtOperTo")).Text;
            dict["Per"]            = ((TextBox)container.FindControl("txtPer")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("txtOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("txttonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("txtfromnum")).Text;
            return(dict);
        });

        template.HeaderTemplate = new GridViewTemplate("To Operation", "Operation that the product is arriving at.", "lblOperTo");
        gridRouting.Columns.Add(template);
        /************************************************************/

        TemplateField    template2     = new TemplateField();
        GridViewTemplate itemTemplate2 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "Per", "lblPer");

        template2.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate2.InstantiateIn(container);
        },
                                                                     delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["Per"]            = ((Label)container.FindControl("lblPer")).Text;
            dict["ToOpName"]       = ((Label)container.FindControl("lblOperTo")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("lblOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("lbltonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("lblfromnum")).Text;
            return(dict);
        });

        GridViewTemplate editTemplate2 = new GridViewTemplate(ListItemType.EditItem, GridViewTemplate.DATA, "Per", "txtPer");

        template2.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editTemplate2.InstantiateIn(container);
        },
                                                                         delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["Per"]            = ((TextBox)container.FindControl("txtPer")).Text;
            dict["ToOpName"]       = ((Label)container.FindControl("txtOperTo")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("txtOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("txttonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("txtfromnum")).Text;
            return(dict);
        });

        template2.HeaderTemplate = new GridViewTemplate("Percent Routed", "Percent of the product that is being routed between two operations.", "lblPer");
        gridRouting.Columns.Add(template2);

        TemplateField    template4     = new TemplateField();
        GridViewTemplate itemTemplate4 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "fromnum", "lblfromnum");

        template4.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate4.InstantiateIn(container);
        },
                                                                     delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["Per"]            = ((Label)container.FindControl("lblPer")).Text;
            dict["ToOpName"]       = ((Label)container.FindControl("lblOperTo")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("lblOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("lbltonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("lblfromnum")).Text;
            return(dict);
        });

        GridViewTemplate editTemplate4 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "fromnum", "txtfromnum");

        template4.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editTemplate4.InstantiateIn(container);
        },
                                                                         delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["Per"]            = ((TextBox)container.FindControl("txtPer")).Text;
            dict["ToOpName"]       = ((Label)container.FindControl("txtOperTo")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("txtOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("txttonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("txtfromnum")).Text;
            return(dict);
        });

        template4.FooterTemplate = new GridViewTemplate(ListItemType.Footer, GridViewTemplate.NONEDITABLE_DATA, "fromnum", "txtfromnum");
        template4.HeaderTemplate = new GridViewTemplate("From Operation Number", "Number of the operation that the product is coming from.", "lblfromnum");
        template4.SortExpression = "Per";
        gridRouting.Columns.Add(template4);

        TemplateField    template5     = new TemplateField();
        GridViewTemplate itemTemplate5 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "tonum", "lbltonum");

        template5.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate5.InstantiateIn(container);
        },
                                                                     delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["Per"]            = ((Label)container.FindControl("lblPer")).Text;
            dict["ToOpName"]       = ((Label)container.FindControl("lblOperTo")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("lblOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("lbltonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("lblfromnum")).Text;
            return(dict);
        });

        GridViewTemplate editTemplate5 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "tonum", "txttonum");

        template5.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editTemplate5.InstantiateIn(container);
        },
                                                                         delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["Per"]            = ((TextBox)container.FindControl("txtPer")).Text;
            dict["ToOpName"]       = ((Label)container.FindControl("txtOperTo")).Text;
            dict["opnam1"]         = ((Label)container.FindControl("txtOperFr")).Text;
            dict["tonum"]          = ((Label)container.FindControl("txttonum")).Text;
            dict["fromnum"]        = ((Label)container.FindControl("txtfromnum")).Text;
            return(dict);
        });

        template5.FooterTemplate = new GridViewTemplate(ListItemType.Footer, GridViewTemplate.NONEDITABLE_DATA, "tonum", "txttonum");
        template5.HeaderTemplate = new GridViewTemplate("To Operation Number", "Number of the operation that the product is arriving at.", "lbltonum");
        gridRouting.Columns.Add(template5);

        //gridRouting.Columns[0].Visible = false;
    }
    private void FillIBOMStructure()
    {
        TemplateField    template = new TemplateField();
        GridViewTemplate itemTemplate;

        itemTemplate          = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "compName", "lblCompName");
        template.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate.InstantiateIn(container);
        },
                                                                    delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["compName"]       = ((Label)container.FindControl("lblCompName")).Text;
            dict["UPA"]            = ((Label)container.FindControl("lblUPA")).Text;
            return(dict);
        });

        List <string> opers = new List <string>();

        opers.Add("ProdID");
        opers.Add("ProdDesc");
        GridViewTemplate editItemTemplate = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "compName", "lblCompName");

        template.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editItemTemplate.InstantiateIn(container);
        },
                                                                        delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["compName"]       = ((Label)container.FindControl("lblCompName")).Text;
            dict["UPA"]            = ((TextBox)container.FindControl("txtUPA")).Text;
            return(dict);
        });

        template.HeaderTemplate = new GridViewTemplate("Component", "Name of the component for the product selected in the above drop-down list.", "lblCompName");
        gridBuildIbom.Columns.Add(template);
        /************************************************************/

        TemplateField    template2     = new TemplateField();
        GridViewTemplate itemTemplate2 = new GridViewTemplate(ListItemType.Item, GridViewTemplate.DATA, "UPA", "lblUPA");

        template2.ItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            itemTemplate2.InstantiateIn(container);
        },
                                                                     delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["UPA"]            = ((Label)container.FindControl("lblUPA")).Text;
            dict["compName"]       = ((Label)container.FindControl("lblCompName")).Text;
            return(dict);
        });

        GridViewTemplate editTemplate2 = new GridViewTemplate(ListItemType.EditItem, GridViewTemplate.DATA, "UPA", "txtUPA");

        template2.EditItemTemplate = new CompiledBindableTemplateBuilder(delegate(Control container) {
            editTemplate2.InstantiateIn(container);
        },
                                                                         delegate(Control container) {
            OrderedDictionary dict = new OrderedDictionary();
            dict["UPA"]            = ((TextBox)container.FindControl("txtUPA")).Text;
            dict["compName"]       = ((Label)container.FindControl("lblCompName")).Text;
            return(dict);
        });

        template2.HeaderTemplate = new GridViewTemplate("Units per Parent Product Assembly", "Number of units needed for the next level of assembly.", "lblUPA");
        template2.SortExpression = "UPA";
        gridBuildIbom.Columns.Add(template2);

        //gridRouting.Columns[0].Visible = false;
    }