public void grdpl1_Itemcommand(Object sender, DataGridCommandEventArgs e)
    {
        Int32 EstNum = 0;
        String work_order_id = "";
        DataSet dsExpand = new DataSet();
        Whitfieldcore _dbClass = new Whitfieldcore();
        switch (e.CommandName)
        {

            case "Expand":
                {

                    EstNum = Convert.ToInt32(ViewState["EstNum"].ToString());
                    work_order_id = grdpl1.DataKeys[e.Item.ItemIndex].ToString();
                    dsExpand = _dbClass.GetMaterialForWorkOrder(EstNum, work_order_id);
                    PlaceHolder exp = new PlaceHolder();
                    exp = (System.Web.UI.WebControls.PlaceHolder)e.Item.Cells[13].FindControl("ExpandedContent");
                    ImageButton img = new ImageButton();
                    img = (System.Web.UI.WebControls.ImageButton)e.Item.Cells[0].FindControl("btnExpand");
                    if (dsExpand.Tables[0].Rows.Count > 0)
                    {
                        if (img.ImageUrl == "assets/img/Plus.gif")
                        {
                            img.ImageUrl = "assets/img/Minus.gif";
                            exp.Visible = true;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).Visible = true;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).EstNum = EstNum;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).WorkOrderID = work_order_id;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).FetchSubMaterials(EstNum, work_order_id,dsExpand);

                        }
                        else
                        {
                            exp.Visible = false;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).Visible = false;
                            img.ImageUrl = "assets/img/Plus.gif";
                        }
                    }
                    else
                    {
                        if (img.ImageUrl == "assets/img/Plus.gif")
                        {
                            img.ImageUrl = "assets/img/Minus.gif";
                            exp.Visible = true;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).Visible = true;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).EstNum = EstNum;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).WorkOrderID = work_order_id;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).FetchSubMaterials(EstNum, work_order_id, dsExpand);
                        }
                        else
                        {
                            exp.Visible = false;
                            ((workorder_materials)(e.Item.FindControl("DynamicTable1"))).Visible = false;
                            img.ImageUrl = "assets/img/Plus.gif";
                        }

                    }
                    break;
                }
            default:
                {
                    break;
                }
        }
    }
    private void DisplayGrid(Int32 EstNum, String work_order_id)
    {
        try
        {
            Whitfieldcore _DbClass = new Whitfieldcore();
            DataSet dsSubMats = _DbClass.GetMaterialForWorkOrder(EstNum, work_order_id);
            PopulateDataGrid(dsSubMats, grdpl1);

        }
        catch (Exception exp)
        {
            Response.Write(exp.Message.ToString());
        }
    }