/// <summary>
 /// close all sheets
 /// </summary>
 private void closeAllSheets()
 {
     for (int i = 0; i < this.lvFacilityResultEPER.Items.Count; i++)
     {
         ucFacilitySheetEPER control = (ucFacilitySheetEPER)this.lvFacilityResultEPER.Items[i].FindControl("ucFacilitySheetEPER");
         if (control != null)
         {
             control.Visible = false;
         }
     }
 }
    /// <summary>
    /// On item command
    /// </summary>
    protected void OnItemCommand(object sender, ListViewCommandEventArgs e)
    {
        // sorting
        if (e.CommandName == "Sort")
        {
            // set arrows
            setArrows(e.CommandArgument.ToString());
            // apply sort
            sort(e.CommandArgument.ToString());
            return;
        }

        // get rowindex
        ListViewDataItem dataItem = e.Item as ListViewDataItem;

        if (dataItem == null)
        {
            return;                   //safe check
        }
        int pageindex = (int)ViewState[PAGEINDEX];
        int rowindex  = dataItem.DataItemIndex - pageindex;

        if (rowindex >= 0 && rowindex < this.lvFacilityResultEPER.Items.Count)
        {
            string arg = e.CommandArgument.ToString();
            ucFacilitySheetEPER control = (ucFacilitySheetEPER)this.lvFacilityResultEPER.Items[rowindex].FindControl("ucFacilitySheetEPER");
            if (control != null && arg.Equals("togglesheet"))
            {
                // only allow one sheet to be open
                closeAllSheets();

                control.Visible = !control.Visible;
                Control div = this.lvFacilityResultEPER.Items[rowindex].FindControl("subsheet");
                div.Visible = !div.Visible;

                if (control.Visible)
                {
                    string facilityReportID = e.CommandName; //name holds the unique facility report ID
                    control.Populate(facilityReportID);
                }
            }
        }
    }