public void DrawOpeningPage() { try { DateClass dt = new DateClass(); int iColNo = 0; int iSectionId = 0; bool bYes; bool bNo; bool bNA; string sId = m_sPassedId; float iVert = 0f; float iSectionHdrRowHeight = 40f; float iQuestionHdrRowHeight = 20f; float iQuestionRowHeight = 30f; float iQuestionRowVert = 0f; float iTotalHeight = 0f; float iHeightToAdd = iQuestionRowHeight; float iHeightToAdd2 = iHeightToAdd; bool bDisableRow = false; bool bFullyCommitted = false; bool bHideComplete = true; bool[] bHideSections = new bool[1]; UIView[] arrItems = new UIView[5]; UIView[] arrItems2 = new UIView[6]; UIView[] arrItems3 = new UIView[5]; UIView[] arrItems4 = new UIView[6]; UIView[] arrItems6 = new UIView[11]; UIView[] arrItems7 = new UIView[7]; UIView[] arrItems14 = new UIView[8]; UIScrollView layout = new UIScrollView(); layout.Frame = new RectangleF(0f,35f,1000f,620f); layout.Tag = 2; clsTabletDB.ITPDocumentSection ITPSection = new clsTabletDB.ITPDocumentSection(); //Get all the sections and place a table layout for each one DataSet arrITPSections = ITPSection.GetLocalITPSections(sId); if (arrITPSections.Tables.Count > 0) { int iRows = arrITPSections.Tables[0].Rows.Count; m_iSections = iRows; m_iQuestionSections = iRows; Array.Resize<bool>(ref bHideSections, iRows); for (int i = 0; i < iRows; i++) { bHideSections[i] = false; //Add in a view for each section. UIView SectionRow = new UIView(); iSectionId = iSectionTagId * (i+1); SectionRow.Tag = iSectionId; SectionRow.Frame = new RectangleF(0f,iVert,1000f,iSectionHdrRowHeight); layout.AddSubview(SectionRow); //Add in the section title and buttons for each section header UILabel hfSection = new UILabel(); iColNo = arrITPSections.Tables[0].Columns["SectionId"].Ordinal; hfSection.Text = arrITPSections.Tables[0].Rows[i].ItemArray[iColNo].ToString(); hfSection.Tag = iSectionDBIdTagId * (i+1); hfSection.Hidden = true; SectionRow.AddSubview(hfSection); iUtils.CreateFormGridItem Section = new iUtils.CreateFormGridItem(); UIView SectionVw = new UIView(); iColNo = arrITPSections.Tables[0].Columns["Name"].Ordinal; Section.SetDimensions(0f,0f, 300f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); Section.SetLabelText(arrITPSections.Tables[0].Rows[i].ItemArray[iColNo].ToString()); Section.SetBorderWidth(0.0f); Section.SetFontName("Verdana-Bold"); Section.SetTextColour("White"); Section.SetFontSize(12f); Section.SetCellColour("DarkSlateGrey"); Section.SetTag(iSectionDescTagId * (i+1)); SectionVw = Section.GetLabelCell(); arrItems[0] = SectionVw; bool bAnyCommitted = ITPSection.ProjectSectionRFUAnyPwrIdCommitted(m_sPassedId); if(bAnyCommitted) { bFullyCommitted = true; bHideComplete = false; } else { bFullyCommitted = false; bHideComplete = true; } iUtils.CreateFormGridItem SectionCompleteLabel = new iUtils.CreateFormGridItem(); UIView SectionCompleteLabelVw = new UIView(); SectionCompleteLabel.SetDimensions(300f,0f, 250f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); if(bFullyCommitted) { SectionCompleteLabel.SetLabelText("COMMITTED"); } else { SectionCompleteLabel.SetLabelText("COMPLETED"); } SectionCompleteLabel.SetBorderWidth(0.0f); SectionCompleteLabel.SetFontName("Verdana-Bold"); SectionCompleteLabel.SetTextColour("Bright Yellow"); SectionCompleteLabel.SetFontSize(14f); SectionCompleteLabel.SetCellColour("DarkSlateGrey"); SectionCompleteLabel.SetTag(iSectionCompleteLabelTagId * (i+1)); SectionCompleteLabel.SetHidden(bHideComplete); SectionCompleteLabelVw = SectionCompleteLabel.GetLabelCell(); arrItems[1] = SectionCompleteLabelVw; iUtils.CreateFormGridItem btnSave = new iUtils.CreateFormGridItem(); UIView btnSaveVw = new UIView(); btnSave.SetDimensions(550f,0f, 150f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnSave.SetLabelText("Save Section"); btnSave.SetBorderWidth(0.0f); btnSave.SetFontName("Verdana"); btnSave.SetFontSize(12f); btnSave.SetTag(iSaveSectionBtnTagId * (i+1)); btnSave.SetCellColour("DarkSlateGrey"); btnSaveVw = btnSave.GetButtonCell(); UIButton btnSaveButton = new UIButton(); btnSaveButton = btnSave.GetButton(); btnSaveButton.TouchUpInside += (sender,e) => {SaveThisSection(sender, e);}; arrItems[2] = btnSaveVw; iUtils.CreateFormGridItem btnExpand = new iUtils.CreateFormGridItem(); UIView btnExpandVw = new UIView(); btnExpand.SetDimensions(700f,0f, 50f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnExpand.SetLabelText("+"); btnExpand.SetBorderWidth(0.0f); btnExpand.SetFontName("Verdana"); btnExpand.SetFontSize(12f); btnExpand.SetTag(iExpandSectionBtnTagId * (i+1)); btnExpand.SetCellColour("DarkSlateGrey"); btnExpandVw = btnExpand.GetButtonCell(); UIButton btnExpandButton = new UIButton(); btnExpandButton = btnExpand.GetButton(); btnExpandButton.Enabled = false; btnExpandButton.TouchUpInside += (sender,e) => {ExpandSection(sender, e);}; arrItems[3] = btnExpandVw; iUtils.CreateFormGridItem btnContract = new iUtils.CreateFormGridItem(); UIView btnContractVw = new UIView(); btnContract.SetDimensions(750f,0f, 50f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnContract.SetLabelText("-"); btnContract.SetBorderWidth(0.0f); btnContract.SetFontName("Verdana"); btnContract.SetFontSize(12f); btnContract.SetTag(iContractSectionBtnTagId * (i+1)); btnContract.SetCellColour("DarkSlateGrey"); btnContractVw = btnContract.GetButtonCell(); UIButton btnContractButton = new UIButton(); btnContractButton = btnContract.GetButton(); btnContractButton.TouchUpInside += (sender,e) => {ContractSection(sender, e);}; arrItems[4] = btnContractVw; SectionRow.AddSubviews(arrItems); iVert += iSectionHdrRowHeight; //Now add a new view to this view to hold another view containing all the questions for this section UIView QuestionsTableRow = new UIView(); float iQuestionRowVertTop = iVert; QuestionsTableRow.Frame = new RectangleF(0f,iQuestionRowVertTop,1000f,iQuestionHdrRowHeight); iSectionId = iContainerSectionTagId * (i+1); QuestionsTableRow.Tag = iSectionId; layout.AddSubview(QuestionsTableRow); //Get all the questions in this section and place a row for each one iColNo = arrITPSections.Tables[0].Columns["SectionId"].Ordinal; int iDBSectionId = Convert.ToInt32( arrITPSections.Tables[0].Rows[i].ItemArray[iColNo]); iColNo = arrITPSections.Tables[0].Columns["QuestionType"].Ordinal; int iQuestionTypes = Convert.ToInt32(arrITPSections.Tables[0].Rows[i].ItemArray[iColNo]); DataSet arrITPSectionQuestions = ITPSection.GetLocalITPSectionQuestions(sId, iDBSectionId); if (arrITPSectionQuestions.Tables.Count > 0) { int iQuestionRows = arrITPSectionQuestions.Tables[0].Rows.Count; //Put in the header row iUtils.CreateFormGridItem lblQuestionHdr = new iUtils.CreateFormGridItem(); UIView lblQuestionHdrVw = new UIView(); lblQuestionHdr.SetDimensions(0f,0f, 400f, iQuestionHdrRowHeight, 4f, 1f, 4f, 1f); lblQuestionHdr.SetLabelText("Question"); lblQuestionHdr.SetBorderWidth(0.0f); lblQuestionHdr.SetFontName("Verdana-Bold"); lblQuestionHdr.SetTextAlignment("Centre"); lblQuestionHdr.SetFontSize(12f); lblQuestionHdr.SetCellColour("Pale Yellow"); lblQuestionHdr.SetTag(iQuestionHdrTagId * (i+1)); lblQuestionHdrVw = lblQuestionHdr.GetLabelCell(); arrItems2[0] = lblQuestionHdrVw; iUtils.CreateFormGridItem lblAnswerHdr = new iUtils.CreateFormGridItem(); UIView lblAnswerHdrVw = new UIView(); lblAnswerHdr.SetDimensions(400f,0f, 200f, iQuestionHdrRowHeight, 4f, 1f, 4f, 1f); lblAnswerHdr.SetLabelText("Answer"); lblAnswerHdr.SetBorderWidth(0.0f); lblAnswerHdr.SetFontName("Verdana-Bold"); lblAnswerHdr.SetTextAlignment("Centre"); lblAnswerHdr.SetFontSize(12f); lblAnswerHdr.SetCellColour("Pale Yellow"); lblAnswerHdr.SetTag(iAnswerHdrTagId * (i+1)); lblAnswerHdrVw = lblAnswerHdr.GetLabelCell(); arrItems2[1] = lblAnswerHdrVw; iUtils.CreateFormGridItem lblCommentsHdr = new iUtils.CreateFormGridItem(); UIView lblCommentsHdrVw = new UIView(); lblCommentsHdr.SetDimensions(600f,0f, 200f, iQuestionHdrRowHeight, 4f, 1f, 4f, 1f); lblCommentsHdr.SetLabelText("Comments"); lblCommentsHdr.SetBorderWidth(0.0f); lblCommentsHdr.SetFontName("Verdana-Bold"); lblCommentsHdr.SetTextAlignment("Centre"); lblCommentsHdr.SetFontSize(12f); lblCommentsHdr.SetCellColour("Pale Yellow"); lblCommentsHdr.SetTag(iCommentsHdrTagId * (i+1)); lblCommentsHdrVw = lblCommentsHdr.GetLabelCell(); arrItems2[2] = lblCommentsHdrVw; layout.AddSubview(QuestionsTableRow); float iSectionQuestionsHeight = iQuestionHdrRowHeight; UILabel hfSectionHeight = new UILabel(); hfSectionHeight.Tag = iSectionHeightTagId * (i+1); hfSectionHeight.Hidden = true; arrItems2[3] = hfSectionHeight; UILabel hfSectionRows = new UILabel(); hfSectionRows.Tag = iSectionRowsTagId * (i+1); hfSectionRows.Hidden = true; hfSectionRows.Text = iQuestionRows.ToString(); arrItems2[4] = hfSectionRows; UILabel hfSectionStatus = new UILabel(); hfSectionStatus.Tag = iSectionStatusTagId * (i+1); hfSectionStatus.Hidden = true; hfSectionStatus.Text = "0"; arrItems2[5] = hfSectionStatus; QuestionsTableRow.AddSubviews(arrItems2); iVert += iQuestionHdrRowHeight; iQuestionRowVert = iQuestionHdrRowHeight; bool bSectionFullyCompleted = true; for (int j = 0; j < iQuestionRows; j++) { UILabel hfRowStatus = new UILabel(); hfRowStatus.Text = "0"; hfRowStatus.Tag = (ihfRowStatusTagId + (j+1)) * (i+1); hfRowStatus.Hidden = true; arrItems3[0] = hfRowStatus; iColNo = arrITPSectionQuestions.Tables[0].Columns["AutoId"].Ordinal; string sAutoId = arrITPSectionQuestions.Tables[0].Rows[j].ItemArray[iColNo].ToString(); iColNo = arrITPSectionQuestions.Tables[0].Columns["Question"].Ordinal; string sQuestion = arrITPSectionQuestions.Tables[0].Rows[j].ItemArray[iColNo].ToString(); UILabel hfAutoId = new UILabel(); hfAutoId.Text = sAutoId; hfAutoId.Tag = (ihfAutoRowTagId + (j+1)) * (i+1); hfAutoId.Hidden = true; arrItems3[1] = hfAutoId; //Put in the question iUtils.CreateFormGridItem rowQuestion = new iUtils.CreateFormGridItem(); UIView rowQuestionVw = new UIView(); rowQuestion.SetLabelWrap(1); //This means the text will be wrapped in the label rowQuestion.SetDimensions(0f,iQuestionRowVert, 400f, iQuestionRowHeight, 2f, 2.5f, 2f, 2.5f); rowQuestion.SetLabelText(sQuestion); rowQuestion.SetBorderWidth(0.0f); rowQuestion.SetFontName("Verdana"); rowQuestion.SetFontSize(12f); rowQuestion.SetTag((iQuestionRowTagId + (j+1)) * (i+1)); if (j % 2 == 0) { rowQuestion.SetCellColour("Pale Blue"); } else { rowQuestion.SetCellColour("Sky Blue"); } rowQuestionVw = rowQuestion.GetLabelCell(); iHeightToAdd = rowQuestion.GetCellHeight(); //Put in the answer iColNo = arrITPSectionQuestions.Tables[0].Columns["Yes"].Ordinal; bYes = Convert.ToBoolean(arrITPSectionQuestions.Tables[0].Rows[j].ItemArray[iColNo]); iColNo = arrITPSectionQuestions.Tables[0].Columns["No"].Ordinal; bNo = Convert.ToBoolean(arrITPSectionQuestions.Tables[0].Rows[j].ItemArray[iColNo]); iColNo = arrITPSectionQuestions.Tables[0].Columns["NA"].Ordinal; bNA = Convert.ToBoolean(arrITPSectionQuestions.Tables[0].Rows[j].ItemArray[iColNo]); iUtils.CreateFormGridItem radGrp = new iUtils.CreateFormGridItem(); UIView radGrpVw = new UIView(); radGrp.SetDimensions(400f,iQuestionRowVert, 200f, iQuestionRowHeight, 2f, 2.5f, 2f, 2.5f); radGrp.SetFontName("Verdana"); radGrp.SetFontSize(12f); radGrp.SetTag((iAnswerGroupTagId + (j+1)) * (i+1)); if (j % 2 == 0) { radGrp.SetCellColour("Pale Blue"); } else { radGrp.SetCellColour("Sky Blue"); } radGrpVw = radGrp.GetRadioButtonCell(); UISegmentedControl radGrpRadio = new UISegmentedControl(); radGrpRadio = radGrp.GetRadioGroup(); radGrpRadio.TouchUpInside += (sender,e) => {SetRowRadioChanged(sender, e);}; radGrpRadio.ValueChanged += (sender,e) => {SetRowRadioChanged(sender, e);}; QuestionsBitMask mask = (QuestionsBitMask)iQuestionTypes; int iPos = 0; bool bQuestionSet = false; if ((mask & QuestionsBitMask.Yes) == QuestionsBitMask.Yes) { radGrpRadio.InsertSegment("Yes", iPos,false); if(bYes) { radGrpRadio.SelectedSegment = iPos; bQuestionSet= true; } iPos++; } if ((mask & QuestionsBitMask.No) == QuestionsBitMask.No) { radGrpRadio.InsertSegment("No", iPos,false); if(bNo) { radGrpRadio.SelectedSegment = iPos; bQuestionSet= true; } iPos++; } if ((mask & QuestionsBitMask.NA) == QuestionsBitMask.NA) { radGrpRadio.InsertSegment("N/A", iPos,false); if(bNA) { radGrpRadio.SelectedSegment = iPos; bQuestionSet= true; } } if(bQuestionSet) { radGrpRadio.Enabled = false; } else { bSectionFullyCompleted = false; } //Put in the comments iUtils.CreateFormGridItem rowComments = new iUtils.CreateFormGridItem(); UIView rowCommentsVw = new UIView(); iColNo = arrITPSectionQuestions.Tables[0].Columns["Comments"].Ordinal; rowComments.SetLabelWrap(1); //This means the text will be wrapped in the label rowComments.SetDimensions(600f,iQuestionRowVert, 200f, iQuestionRowHeight, 2f, 2.5f, 2f, 2.5f); rowComments.SetLabelText(arrITPSectionQuestions.Tables[0].Rows[j].ItemArray[iColNo].ToString()); rowComments.SetBorderWidth(0.0f); rowComments.SetFontName("Verdana"); rowComments.SetFontSize(12f); rowComments.SetTag((iCommentsTagId + (j+1)) * (i+1)); // if (j % 2 == 0) { rowComments.SetCellColour("Pale Blue"); } else { rowComments.SetCellColour("Sky Blue"); } rowCommentsVw = rowComments.GetTextCell(); iHeightToAdd2 = rowComments.GetCellHeight(); UITextView rowCommentsTextVw = new UITextView(); rowCommentsTextVw = rowComments.GetTextView(); rowCommentsTextVw.ShouldBeginEditing += (sender) => { return SetGlobalEditItems(sender, 11);}; rowCommentsTextVw.Changed += (sender,e) => {SetRowEditTextChanged(sender, e);}; if(bQuestionSet) { rowCommentsTextVw.Editable = false; } if(iHeightToAdd2 > iHeightToAdd) { rowQuestion.SetDimensions(0f,iQuestionRowVert, 400f, iHeightToAdd2, 2f, 2.5f, 2f, 2.5f); rowQuestion.ResetCellViewDimensions(rowQuestionVw); radGrp.SetDimensions(400f,iQuestionRowVert, 200f, iHeightToAdd2, 2f, 2.5f, 2f, 2.5f); radGrp.ResetCellViewDimensions(radGrpVw); } else { radGrp.SetDimensions(400f,iQuestionRowVert, 200f, iHeightToAdd, 2f, 2.5f, 2f, 2.5f); radGrp.ResetCellViewDimensions(radGrpVw); rowComments.SetDimensions(600f,iQuestionRowVert, 200f, iHeightToAdd, 2f, 2.5f, 2f, 2.5f); rowComments.ResetCellViewDimensions(rowCommentsVw); rowComments.ResetCellTextViewDimensions(rowCommentsTextVw); } arrItems3[2] = rowQuestionVw; arrItems3[3] = radGrpVw; arrItems3[4] = rowCommentsVw; QuestionsTableRow.AddSubviews(arrItems3); iSectionQuestionsHeight += iHeightToAdd; iQuestionRowVert += iHeightToAdd; iVert += iHeightToAdd; } //Now resize the UIView that is effectively the container for the questions for this section //And also store this height in a hidden field for use in the contract and expand functions QuestionsTableRow.Frame = new RectangleF(0f,iQuestionRowVertTop,1000f,iSectionQuestionsHeight); hfSectionHeight.Text = iSectionQuestionsHeight.ToString(); if(bSectionFullyCompleted) { bHideSections[i] = true; } } } } //******************************************************************************************// // SECTION 10 (BATTERIES) // //******************************************************************************************// //Get all the PwrId's for this project from ITPSection10 DataSet arrITPSection10PwrIds = ITPSection.GetLocalITPSection10PwrIds(sId, 6); if (arrITPSection10PwrIds.Tables.Count > 0) { int ii = arrITPSections.Tables[0].Rows.Count; m_iSections++; //Add an extra one for the batteries section m_iBatterySectionCounter = ii; int iPwrIdRows = arrITPSection10PwrIds.Tables[0].Rows.Count; //Add in the section title and buttons for each section header UIView Section10Row = new UIView(); float iSection10RowVertTop = iVert; Section10Row.Frame = new RectangleF(0f,iSection10RowVertTop,1000f,iSectionHdrRowHeight); iSectionId = iSectionTagId * (ii+1); Section10Row.Tag = iSectionId; layout.AddSubview(Section10Row); UILabel hfSection10 = new UILabel(); hfSection10.Text = "10"; hfSection10.Tag = iSectionDBIdTagId * (ii+1); hfSection10.Hidden = true; Section10Row.AddSubview(hfSection10); iUtils.CreateFormGridItem Section10 = new iUtils.CreateFormGridItem(); UIView Section10Vw = new UIView(); Section10.SetDimensions(0f,0f, 300f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); Section10.SetLabelText("BATTERIES"); Section10.SetBorderWidth(0.0f); Section10.SetFontName("Verdana-Bold"); Section10.SetTextColour("White"); Section10.SetFontSize(12f); Section10.SetCellColour("DarkSlateGrey"); Section10.SetTag(iSectionDescTagId * (ii+1)); Section10Vw = Section10.GetLabelCell(); arrItems4[0] = Section10Vw; if(RFUFullyCommitted()) { bFullyCommitted = true; bHideComplete = false; } else { if(BatteryFullyCommitted()) { bFullyCommitted = true; bHideComplete = false; } else { bFullyCommitted = false; if(BatteryFullyComplete()) { bHideComplete = false; } else { bHideComplete = true; } } } iUtils.CreateFormGridItem SectionCompleteLabel = new iUtils.CreateFormGridItem(); UIView SectionCompleteLabelVw = new UIView(); SectionCompleteLabel.SetDimensions(300f,0f, 150f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); if(bFullyCommitted) { SectionCompleteLabel.SetLabelText("COMMITTED"); } else { SectionCompleteLabel.SetLabelText("COMPLETED"); } SectionCompleteLabel.SetBorderWidth(0.0f); SectionCompleteLabel.SetFontName("Verdana-Bold"); SectionCompleteLabel.SetTextColour("Bright Yellow"); SectionCompleteLabel.SetFontSize(14f); SectionCompleteLabel.SetCellColour("DarkSlateGrey"); SectionCompleteLabel.SetTag(iSectionCompleteLabelTagId * (ii+1)); SectionCompleteLabel.SetHidden(bHideComplete); SectionCompleteLabelVw = SectionCompleteLabel.GetLabelCell(); arrItems4[1] = SectionCompleteLabelVw; iUtils.CreateFormGridItem btnSave10 = new iUtils.CreateFormGridItem(); UIView btnSave10Vw = new UIView(); btnSave10.SetDimensions(450f,0f, 350f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnSave10.SetLabelText("Open Battery Details Screen"); btnSave10.SetBorderWidth(0.0f); btnSave10.SetFontName("Verdana"); btnSave10.SetFontSize(12f); btnSave10.SetTag(iSaveSectionBtnTagId * (ii+1)); btnSave10.SetCellColour("DarkSlateGrey"); btnSave10Vw = btnSave10.GetButtonCell(); UIButton btnSave10Button = new UIButton(); btnSave10Button = btnSave10.GetButton(); btnSave10Button.TouchUpInside += (sender,e) => {OpenBatteries(sender, e);}; arrItems4[2] = btnSave10Vw; UILabel hfSectionHeight = new UILabel(); hfSectionHeight.Tag = iSectionHeightTagId * (ii+1); hfSectionHeight.Hidden = true; hfSectionHeight.Text = "0"; arrItems4[3] = hfSectionHeight; UILabel hfSectionRows = new UILabel(); hfSectionRows.Tag = iSectionRowsTagId * (ii+1); hfSectionRows.Hidden = true; hfSectionRows.Text = iPwrIdRows.ToString(); arrItems4[4] = hfSectionRows; UILabel hfSectionStatus = new UILabel(); hfSectionStatus.Tag = iSectionStatusTagId * (ii+1); hfSectionStatus.Hidden = true; hfSectionStatus.Text = "0"; arrItems4[5] = hfSectionStatus; Section10Row.AddSubviews(arrItems4); iVert += iSectionHdrRowHeight; //Now add a new view to this view to hold another view containing all the pwrid info for this section 10 UIView PwrIdTableRow = new UIView(); PwrIdTableRow.Frame = new RectangleF(0f,iVert,1000f,0f); iSectionId = iContainerSectionTagId * (ii+1); PwrIdTableRow.Tag = iSectionId; layout.AddSubview(PwrIdTableRow); } //******************************************************************************************// // SECTION 10 (EQUIPMENT) // //******************************************************************************************// //Get all the PwrId's for this project from ITPSection10 DataSet arrITPSectionEquipmentPwrIds = ITPSection.GetLocalITPSectionEquipmentPwrIds(sId); if (arrITPSectionEquipmentPwrIds.Tables.Count > 0) { int iii = m_iSections; m_iSections++; //Add an extra one for the equipment section m_iEquipmentSectionCounter = iii; int iPwrIdRows = arrITPSectionEquipmentPwrIds.Tables[0].Rows.Count; //Add in the section title and buttons for each section header UIView SectionEquipmentRow = new UIView(); float iSectionEquipmentRowVertTop = iVert; SectionEquipmentRow.Frame = new RectangleF(0f,iSectionEquipmentRowVertTop,1000f,iSectionHdrRowHeight); iSectionId = iSectionTagId * (iii+1); SectionEquipmentRow.Tag = iSectionId; layout.AddSubview(SectionEquipmentRow); UILabel hfSectionEquipment = new UILabel(); hfSectionEquipment.Text = "10"; hfSectionEquipment.Tag = iSectionDBIdTagId * (iii+1); hfSectionEquipment.Hidden = true; SectionEquipmentRow.AddSubview(hfSectionEquipment); iUtils.CreateFormGridItem SectionEquipment = new iUtils.CreateFormGridItem(); UIView SectionEquipmentVw = new UIView(); SectionEquipment.SetDimensions(0f,0f, 300f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); SectionEquipment.SetLabelText("POWER CONVERSION EQUIPMENT"); SectionEquipment.SetBorderWidth(0.0f); SectionEquipment.SetFontName("Verdana-Bold"); SectionEquipment.SetTextColour("White"); SectionEquipment.SetFontSize(12f); SectionEquipment.SetCellColour("DarkSlateGrey"); SectionEquipment.SetTag(iSectionDescTagId * (iii+1)); SectionEquipmentVw = SectionEquipment.GetLabelCell(); arrItems4[0] = SectionEquipmentVw; if(RFUFullyCommitted()) { bFullyCommitted = true; bHideComplete = false; } else { if(PowerConversionFullyCommitted()) { bFullyCommitted = true; bHideComplete = false; } else { bFullyCommitted = false; if(PowerConversionFullyComplete()) { bHideComplete = false; } else { bHideComplete = true; } } } iUtils.CreateFormGridItem SectionCompleteLabel = new iUtils.CreateFormGridItem(); UIView SectionCompleteLabelVw = new UIView(); SectionCompleteLabel.SetDimensions(300f,0f, 150f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); if(bFullyCommitted) { SectionCompleteLabel.SetLabelText("COMMITTED"); } else { SectionCompleteLabel.SetLabelText("COMPLETED"); } SectionCompleteLabel.SetBorderWidth(0.0f); SectionCompleteLabel.SetFontName("Verdana-Bold"); SectionCompleteLabel.SetTextColour("Bright Yellow"); SectionCompleteLabel.SetFontSize(14f); SectionCompleteLabel.SetCellColour("DarkSlateGrey"); SectionCompleteLabel.SetTag(iSectionCompleteLabelTagId * (iii+1)); SectionCompleteLabel.SetHidden(bHideComplete); SectionCompleteLabelVw = SectionCompleteLabel.GetLabelCell(); arrItems4[1] = SectionCompleteLabelVw; iUtils.CreateFormGridItem btnSaveEquipment = new iUtils.CreateFormGridItem(); UIView btnSaveEquipmentVw = new UIView(); btnSaveEquipment.SetDimensions(450f,0f, 350f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnSaveEquipment.SetLabelText("Open Power Conversion Equipment Screen"); btnSaveEquipment.SetBorderWidth(0.0f); btnSaveEquipment.SetFontName("Verdana"); btnSaveEquipment.SetFontSize(12f); btnSaveEquipment.SetTag(iSaveSectionBtnTagId * (iii+1)); btnSaveEquipment.SetCellColour("DarkSlateGrey"); btnSaveEquipmentVw = btnSaveEquipment.GetButtonCell(); UIButton btnSaveEquipmentButton = new UIButton(); btnSaveEquipmentButton = btnSaveEquipment.GetButton(); btnSaveEquipmentButton.TouchUpInside += (sender,e) => {OpenPowerConversion(sender, e);}; arrItems4[2] = btnSaveEquipmentVw; UILabel hfSectionEquipmentHeight = new UILabel(); hfSectionEquipmentHeight.Tag = iSectionHeightTagId * (iii+1); hfSectionEquipmentHeight.Hidden = true; hfSectionEquipmentHeight.Text = "0"; arrItems4[3] = hfSectionEquipmentHeight; UILabel hfSectionEquipmentRows = new UILabel(); hfSectionEquipmentRows.Tag = iSectionRowsTagId * (iii+1); hfSectionEquipmentRows.Hidden = true; hfSectionEquipmentRows.Text = iPwrIdRows.ToString(); arrItems4[4] = hfSectionEquipmentRows; UILabel hfSectionEquipmentStatus = new UILabel(); hfSectionEquipmentStatus.Tag = iSectionStatusTagId * (iii+1); hfSectionEquipmentStatus.Hidden = true; hfSectionEquipmentStatus.Text = "0"; arrItems4[5] = hfSectionEquipmentStatus; SectionEquipmentRow.AddSubviews(arrItems4); iVert += iSectionHdrRowHeight; //Now add a new view to this view to hold another view containing all the pwrid info for this section 10 UIView PwrIdTableRow = new UIView(); PwrIdTableRow.Frame = new RectangleF(0f,iVert,1000f,0f); iSectionId = iContainerSectionTagId * (iii+1); PwrIdTableRow.Tag = iSectionId; layout.AddSubview(PwrIdTableRow); } //******************************************************************************************// // SECTION RFU // //******************************************************************************************// //Get all the PwrId's for this project from ITPRFU DataSet arrITPRFUs = ITPSection.GetLocalITPRFUPwrIds(sId); if (arrITPRFUs.Tables.Count > 0) { float iRFURowVert = 0.0f; float iSectionRFUHeight = 0.0f; float iRFURowVertTop = iVert; float iRFURowInnerTop = 0.0f; int ii = m_iSections; m_iSections++; //Add an extra one for the RFU section m_iRFUSectionCounter = ii; //Here ii and m_iSections are different by 1. If we add more sections after this it will be different later on int iPwrIdRowsRFU = arrITPRFUs.Tables[0].Rows.Count; //Add in the section title and buttons for each section header UIView SectionRFURow = new UIView(); float iSection10RowVertTop = iVert; SectionRFURow.Frame = new RectangleF(0f,iSection10RowVertTop,1000f,iSectionHdrRowHeight); iSectionId = iSectionTagId * (ii+1); SectionRFURow.Tag = iSectionId; layout.AddSubview(SectionRFURow); UILabel hfSectionRFU = new UILabel(); hfSectionRFU.Text = "RFU"; hfSectionRFU.Tag = iSectionDBIdTagId * (ii+1); hfSectionRFU.Hidden = true; SectionRFURow.AddSubview(hfSectionRFU); iUtils.CreateFormGridItem SectionRFU = new iUtils.CreateFormGridItem(); UIView SectionRFUVw = new UIView(); SectionRFU.SetDimensions(0f,0f, 300f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); SectionRFU.SetLabelText("READY FOR USE (RFU)"); SectionRFU.SetBorderWidth(0.0f); SectionRFU.SetFontName("Verdana-Bold"); SectionRFU.SetTextColour("White"); SectionRFU.SetFontSize(12f); SectionRFU.SetCellColour("DarkSlateGrey"); SectionRFU.SetTag(iSectionDescTagId * (ii+1)); SectionRFUVw = SectionRFU.GetLabelCell(); arrItems14[0] = SectionRFUVw; if(RFUFullyCommitted()) { bFullyCommitted = false; } else { bFullyCommitted = true; } iUtils.CreateFormGridItem SectionCompleteLabel = new iUtils.CreateFormGridItem(); UIView SectionCompleteLabelVw = new UIView(); SectionCompleteLabel.SetDimensions(300f,0f, 250f, iSectionHdrRowHeight, 4f, 7.5f, 4f, 7.5f); SectionCompleteLabel.SetLabelText("COMMITTED"); SectionCompleteLabel.SetBorderWidth(0.0f); SectionCompleteLabel.SetFontName("Verdana-Bold"); SectionCompleteLabel.SetTextColour("Bright Yellow"); SectionCompleteLabel.SetFontSize(14f); SectionCompleteLabel.SetCellColour("DarkSlateGrey"); SectionCompleteLabel.SetTag(iSectionCompleteLabelTagId * (ii+1)); SectionCompleteLabel.SetHidden(bFullyCommitted); SectionCompleteLabelVw = SectionCompleteLabel.GetLabelCell(); arrItems14[1] = SectionCompleteLabelVw; iUtils.CreateFormGridItem btnSaveRFU = new iUtils.CreateFormGridItem(); UIView btnSaveRFUVw = new UIView(); btnSaveRFU.SetDimensions(550f,0f, 150f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnSaveRFU.SetLabelText("Save Section"); btnSaveRFU.SetBorderWidth(0.0f); btnSaveRFU.SetFontName("Verdana"); btnSaveRFU.SetFontSize(12f); btnSaveRFU.SetTag(iSaveSectionBtnTagId * (ii+1)); btnSaveRFU.SetCellColour("DarkSlateGrey"); btnSaveRFUVw = btnSaveRFU.GetButtonCell(); UIButton btnSaveRFUButton = new UIButton(); btnSaveRFUButton = btnSaveRFU.GetButton(); btnSaveRFUButton.TouchUpInside += (sender,e) => {SaveThisSection(sender, e);}; btnSaveRFUButton.Hidden = true; arrItems14[2] = btnSaveRFUVw; iUtils.CreateFormGridItem btnExpandRFU = new iUtils.CreateFormGridItem(); UIView btnExpandRFUVw = new UIView(); btnExpandRFU.SetDimensions(700f,0f, 50f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnExpandRFU.SetLabelText("+"); btnExpandRFU.SetBorderWidth(0.0f); btnExpandRFU.SetFontName("Verdana"); btnExpandRFU.SetFontSize(12f); btnExpandRFU.SetTag(iExpandSectionBtnTagId * (ii+1)); btnExpandRFU.SetCellColour("DarkSlateGrey"); btnExpandRFUVw = btnExpandRFU.GetButtonCell(); UIButton btnExpandRFUButton = new UIButton(); btnExpandRFUButton = btnExpandRFU.GetButton(); btnExpandRFUButton.Enabled = false; btnExpandRFUButton.TouchUpInside += (sender,e) => {ExpandSection(sender, e);}; arrItems14[3] = btnExpandRFUVw; iUtils.CreateFormGridItem btnContractRFU = new iUtils.CreateFormGridItem(); UIView btnContractRFUVw = new UIView(); btnContractRFU.SetDimensions(750f,0f, 50f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); btnContractRFU.SetLabelText("-"); btnContractRFU.SetBorderWidth(0.0f); btnContractRFU.SetFontName("Verdana"); btnContractRFU.SetFontSize(12f); btnContractRFU.SetTag(iContractSectionBtnTagId * (ii+1)); btnContractRFU.SetCellColour("DarkSlateGrey"); btnContractRFUVw = btnContractRFU.GetButtonCell(); UIButton btnContractRFUButton = new UIButton(); btnContractRFUButton = btnContractRFU.GetButton(); btnContractRFUButton.TouchUpInside += (sender,e) => {ContractSection(sender, e);}; arrItems14[4] = btnContractRFUVw; UILabel hfSectionHeight = new UILabel(); hfSectionHeight.Tag = iSectionHeightTagId * (ii+1); hfSectionHeight.Hidden = true; hfSectionHeight.Text = "0"; arrItems14[5] = hfSectionHeight; UILabel hfSectionRows = new UILabel(); hfSectionRows.Tag = iSectionRowsTagId * (ii+1); hfSectionRows.Hidden = true; hfSectionRows.Text = iPwrIdRowsRFU.ToString(); arrItems14[6] = hfSectionRows; UILabel hfSectionStatus = new UILabel(); hfSectionStatus.Tag = iSectionStatusTagId * (ii+1); hfSectionStatus.Hidden = true; hfSectionStatus.Text = "0"; arrItems14[7] = hfSectionStatus; SectionRFURow.AddSubviews(arrItems14); iVert += iSectionHdrRowHeight; iRFURowVertTop += iSectionHdrRowHeight; //Now add a new view to this view to hold another view containing all the pwrid info for this RFU section UIView RFUTableRow = new UIView(); RFUTableRow.Frame = new RectangleF(0f,iRFURowVertTop,1000f,iSectionHdrRowHeight); iSectionId = iContainerSectionTagId * (ii+1); RFUTableRow.Tag = iSectionId; layout.AddSubview(RFUTableRow); //Put in the header UIView vwPwrHdrInternalRowId = new UIView(); vwPwrHdrInternalRowId.Frame = new RectangleF(0f,iRFURowVert,1000f,iSectionHdrRowHeight); //This will be resized later on iUtils.CreateFormGridItem rowPwrIdHdrLbl = new iUtils.CreateFormGridItem(); UIView rowPwrIdHdrLblVw = new UIView(); rowPwrIdHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowPwrIdHdrLbl.SetDimensions(0f,iRFURowVert, 100f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowPwrIdHdrLbl.SetLabelText("Power Id"); rowPwrIdHdrLbl.SetTextAlignment("centre"); rowPwrIdHdrLbl.SetBorderWidth(0.0f); rowPwrIdHdrLbl.SetFontName("Verdana-Bold"); rowPwrIdHdrLbl.SetFontSize(14f); rowPwrIdHdrLbl.SetTag((iRFUPwrIdHdrLabelTagId) * (ii+1)); rowPwrIdHdrLbl.SetCellColour("Pale Yellow"); rowPwrIdHdrLblVw = rowPwrIdHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[0] = rowPwrIdHdrLblVw; iUtils.CreateFormGridItem rowDesignLoadHdrLbl = new iUtils.CreateFormGridItem(); UIView rowDesignLoadHdrLblVw = new UIView(); rowDesignLoadHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowDesignLoadHdrLbl.SetDimensions(100f,iRFURowVert, 100f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowDesignLoadHdrLbl.SetLabelText("Design Load"); rowDesignLoadHdrLbl.SetTextAlignment("centre"); rowDesignLoadHdrLbl.SetBorderWidth(0.0f); rowDesignLoadHdrLbl.SetFontName("Verdana-Bold"); rowDesignLoadHdrLbl.SetFontSize(14f); rowDesignLoadHdrLbl.SetTag((iRFUDesignLoadHdrLabelTagId) * (ii+1)); rowDesignLoadHdrLbl.SetCellColour("Pale Yellow"); rowDesignLoadHdrLblVw = rowDesignLoadHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[1] = rowDesignLoadHdrLblVw; iUtils.CreateFormGridItem rowCutoverLoadHdrLbl = new iUtils.CreateFormGridItem(); UIView rowCutoverLoadHdrLblVw = new UIView(); rowCutoverLoadHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowCutoverLoadHdrLbl.SetDimensions(200f,iRFURowVert, 100f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowCutoverLoadHdrLbl.SetLabelText("Cutover Load"); rowCutoverLoadHdrLbl.SetTextAlignment("centre"); rowCutoverLoadHdrLbl.SetBorderWidth(0.0f); rowCutoverLoadHdrLbl.SetFontName("Verdana-Bold"); rowCutoverLoadHdrLbl.SetFontSize(14f); rowCutoverLoadHdrLbl.SetTag((iRFUCutoverLoadHdrLabelTagId) * (ii+1)); rowCutoverLoadHdrLbl.SetCellColour("Pale Yellow"); rowCutoverLoadHdrLblVw = rowCutoverLoadHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[2] = rowCutoverLoadHdrLblVw; iUtils.CreateFormGridItem rowCutoverDateHdrLbl = new iUtils.CreateFormGridItem(); UIView rowCutoverDateHdrLblVw = new UIView(); rowCutoverDateHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowCutoverDateHdrLbl.SetDimensions(300f,iRFURowVert, 100f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowCutoverDateHdrLbl.SetLabelText("Cutover Date"); rowCutoverDateHdrLbl.SetTextAlignment("centre"); rowCutoverDateHdrLbl.SetBorderWidth(0.0f); rowCutoverDateHdrLbl.SetFontName("Verdana-Bold"); rowCutoverDateHdrLbl.SetFontSize(14f); rowCutoverDateHdrLbl.SetTag((iRFUCutoverDateHdrLabelTagId) * (ii+1)); rowCutoverDateHdrLbl.SetCellColour("Pale Yellow"); rowCutoverDateHdrLblVw = rowCutoverDateHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[3] = rowCutoverDateHdrLblVw; iUtils.CreateFormGridItem rowDecommissionedHdrLbl = new iUtils.CreateFormGridItem(); UIView rowDecommissionedHdrLblVw = new UIView(); rowDecommissionedHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowDecommissionedHdrLbl.SetDimensions(400f,iRFURowVert, 150f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowDecommissionedHdrLbl.SetLabelText("Decommissioned"); rowDecommissionedHdrLbl.SetTextAlignment("centre"); rowDecommissionedHdrLbl.SetBorderWidth(0.0f); rowDecommissionedHdrLbl.SetFontName("Verdana-Bold"); rowDecommissionedHdrLbl.SetFontSize(14f); rowDecommissionedHdrLbl.SetTag((iRFUDecommissionedHdrLabelTagId) * (ii+1)); rowDecommissionedHdrLbl.SetCellColour("Pale Yellow"); rowDecommissionedHdrLblVw = rowDecommissionedHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[4] = rowDecommissionedHdrLblVw; iUtils.CreateFormGridItem rowCommissionedHdrLbl = new iUtils.CreateFormGridItem(); UIView rowCommissionedHdrLblVw = new UIView(); rowCommissionedHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowCommissionedHdrLbl.SetDimensions(550f,iRFURowVert, 150f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowCommissionedHdrLbl.SetLabelText("Commissioned"); rowCommissionedHdrLbl.SetTextAlignment("centre"); rowCommissionedHdrLbl.SetBorderWidth(0.0f); rowCommissionedHdrLbl.SetFontName("Verdana-Bold"); rowCommissionedHdrLbl.SetFontSize(14f); rowCommissionedHdrLbl.SetTag((iRFUCommissionedHdrLabelTagId) * (ii+1)); rowCommissionedHdrLbl.SetCellColour("Pale Yellow"); rowCommissionedHdrLblVw = rowCommissionedHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[5] = rowCommissionedHdrLblVw; iUtils.CreateFormGridItem rowSaveRFUHdrLbl = new iUtils.CreateFormGridItem(); UIView rowSaveRFUHdrLblVw = new UIView(); rowSaveRFUHdrLbl.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowSaveRFUHdrLbl.SetDimensions(700f,iRFURowVert, 130f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowSaveRFUHdrLbl.SetLabelText("Commit RFU"); rowSaveRFUHdrLbl.SetTextAlignment("centre"); rowSaveRFUHdrLbl.SetBorderWidth(0.0f); rowSaveRFUHdrLbl.SetFontName("Verdana-Bold"); rowSaveRFUHdrLbl.SetFontSize(14f); rowSaveRFUHdrLbl.SetTag((iRFUSaveRFUHdrLabelTagId) * (ii+1)); rowSaveRFUHdrLbl.SetCellColour("Pale Yellow"); rowSaveRFUHdrLblVw = rowSaveRFUHdrLbl.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems7[6] = rowSaveRFUHdrLblVw; //Now add the row details into the view vwPwrHdrInternalRowId.AddSubviews(arrItems7); iSectionRFUHeight += iHeightToAdd; iRFURowVert += iHeightToAdd; iVert += iHeightToAdd; vwPwrHdrInternalRowId.Frame = new RectangleF(0f, iRFURowInnerTop, 1000f, iRFURowVert); RFUTableRow.AddSubview(vwPwrHdrInternalRowId); iRFURowInnerTop += iRFURowVert; iRFURowVert = 0f; for (var j = 0; j < iPwrIdRowsRFU; j++) { UIView vwPwrInternalRowId = new UIView(); vwPwrInternalRowId.Frame = new RectangleF(0f,iRFURowVert,1000f,200f); //This will be resized later on vwPwrInternalRowId.Tag = (iPwrIdSectionTagId + (j+1)) * (ii+1); iColNo = arrITPRFUs.Tables[0].Columns["PwrId"].Ordinal; string sPwrId = arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo].ToString(); iColNo = arrITPRFUs.Tables[0].Columns["CutoverLoad"].Ordinal; string sCutoverLoad = arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo].ToString(); iColNo = arrITPRFUs.Tables[0].Columns["CutoverDate"].Ordinal; string sCutoverDate = arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo].ToString(); iColNo = arrITPRFUs.Tables[0].Columns["Decommission"].Ordinal; int iDecommission = Convert.ToInt32(arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo]); iColNo = arrITPRFUs.Tables[0].Columns["Commission"].Ordinal; int iCommission = Convert.ToInt32(arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo]); bDisableRow = RFUPwrIdCommitted(sPwrId); UILabel hfRowRFUStatus = new UILabel(); hfRowRFUStatus.Text = "0"; hfRowRFUStatus.Tag = (ihfRowRFUStatusTagId + (j+1)) * (ii+1); hfRowRFUStatus.Hidden = true; arrItems6[0] = hfRowRFUStatus; //Put in the PwrId Label iUtils.CreateFormGridItem rowPwrIdLabel = new iUtils.CreateFormGridItem(); UIView rowPwrIdLabelVw = new UIView(); rowPwrIdLabel.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowPwrIdLabel.SetDimensions(0f,iRFURowVert, 100f, iSectionHdrRowHeight, 2f, 2.5f, 2f, 2.5f); rowPwrIdLabel.SetLabelText(sPwrId); rowPwrIdLabel.SetBorderWidth(0.0f); rowPwrIdLabel.SetFontName("Verdana"); rowPwrIdLabel.SetFontSize(14f); rowPwrIdLabel.SetTag((iRFUPwrIdRowLabelTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { rowPwrIdLabel.SetCellColour("Pale Blue"); } else { rowPwrIdLabel.SetCellColour("Sky Blue"); } rowPwrIdLabelVw = rowPwrIdLabel.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems6[1] = rowPwrIdLabelVw; //Put in the PwrId Label iUtils.CreateFormGridItem rowDesignLoadLabel = new iUtils.CreateFormGridItem(); UIView rowDesignLoadLabelVw = new UIView(); iColNo = arrITPRFUs.Tables[0].Columns["DesignLoad"].Ordinal; string sDesignLoad = arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo].ToString(); rowDesignLoadLabel.SetLabelWrap(0); //This means the text will NOT be wrapped in the label rowDesignLoadLabel.SetDimensions(100f,iRFURowVert, 100f, iSectionHdrRowHeight, 20f, 2.5f, 20f, 2.5f); rowDesignLoadLabel.SetLabelText(sDesignLoad); rowDesignLoadLabel.SetTextAlignment("right"); rowDesignLoadLabel.SetBorderWidth(0.0f); rowDesignLoadLabel.SetFontName("Verdana"); rowDesignLoadLabel.SetFontSize(14f); rowDesignLoadLabel.SetTag((iRFUDesignLoadRowLabelTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { rowDesignLoadLabel.SetCellColour("Pale Blue"); } else { rowDesignLoadLabel.SetCellColour("Sky Blue"); } rowDesignLoadLabelVw = rowDesignLoadLabel.GetLabelCell(); iHeightToAdd = iSectionHdrRowHeight; arrItems6[2] = rowDesignLoadLabelVw; iUtils.CreateFormGridItem txtCutoverLoad = new iUtils.CreateFormGridItem(); UIView txtCutoverLoadVw = new UIView(); txtCutoverLoad.SetDimensions(200f,iRFURowVert, 100f, iSectionHdrRowHeight, 15f, 2.5f, 15f, 2.5f); txtCutoverLoad.SetLabelText(sCutoverLoad); txtCutoverLoad.SetTextAlignment("right"); txtCutoverLoad.SetBorderWidth(0.0f); txtCutoverLoad.SetFontName("Verdana"); txtCutoverLoad.SetFontSize(14f); txtCutoverLoad.SetTag((iRFUCutoverLoadRowLabelTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { txtCutoverLoad.SetCellColour("Pale Blue"); } else { txtCutoverLoad.SetCellColour("Sky Blue"); } txtCutoverLoadVw = txtCutoverLoad.GetTextFieldCell(); UITextField txtCutoverLoadView = txtCutoverLoad.GetTextFieldView(); txtCutoverLoadView.KeyboardType = UIKeyboardType.NumbersAndPunctuation; txtCutoverLoadView.ReturnKeyType = UIReturnKeyType.Next; txtCutoverLoadView.ShouldBeginEditing += (sender) => { return SetGlobalEditItems(sender, 9);}; txtCutoverLoadView.ShouldEndEditing += (sender) => { return ValidateCutoverLoad(sender, 0);}; txtCutoverLoadView.ShouldReturn += (sender) => { return MoveNextTextField(sender, 9);}; if(bDisableRow) { txtCutoverLoadView.Enabled = false; } arrItems6[3] = txtCutoverLoadVw; UILabel hfCurrentCutoverLoad = new UILabel(); hfCurrentCutoverLoad.Text = sCutoverLoad; hfCurrentCutoverLoad.Tag = (ihfCutoverLoadRowLabelTagId + (j + 1)) * (ii + 1); hfCurrentCutoverLoad.Hidden = true; arrItems6 [4] = hfCurrentCutoverLoad; iUtils.CreateFormGridItem txtCutoverDate = new iUtils.CreateFormGridItem(); UIView txtCutoverDateVw = new UIView(); txtCutoverDate.SetDimensions(300f,iRFURowVert, 100f, iSectionHdrRowHeight, 8f, 2.5f, 8f, 2.5f); if (sCutoverDate == "" || sCutoverDate == "0") { sCutoverDate = "01/01/1900"; } DateTime dtCutover = Convert.ToDateTime(sCutoverDate); string sCutoverDisplay = dt.Get_Date_String(dtCutover, "dd/mm/yy"); txtCutoverDate.SetLabelText(sCutoverDisplay); txtCutoverDate.SetTextAlignment("right"); txtCutoverDate.SetBorderWidth(0.0f); txtCutoverDate.SetFontName("Verdana"); txtCutoverDate.SetFontSize(14f); txtCutoverDate.SetTag((iRFUCutoverDateRowLabelTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { txtCutoverDate.SetCellColour("Pale Blue"); } else { txtCutoverDate.SetCellColour("Sky Blue"); } txtCutoverDateVw = txtCutoverDate.GetTextFieldCell(); UITextField txtCutoverDateView = txtCutoverDate.GetTextFieldView(); txtCutoverDateView.KeyboardType = UIKeyboardType.NumbersAndPunctuation; txtCutoverDateView.ReturnKeyType = UIReturnKeyType.Next; txtCutoverDateView.ShouldBeginEditing += (sender) => { return SetGlobalEditItems(sender, 10);}; txtCutoverDateView.ShouldEndEditing += (sender) => { return ValidateCutoverDate(sender, 0);}; txtCutoverDateView.ShouldReturn += (sender) => { return MoveNextTextField(sender, 10);}; if(bDisableRow) { txtCutoverDateView.Enabled = false; } arrItems6[5] = txtCutoverDateVw; UILabel hfCurrentCutoverDate = new UILabel(); hfCurrentCutoverDate.Text = sCutoverDisplay; hfCurrentCutoverDate.Tag = (ihfCutoverDateRowLabelTagId + (j + 1)) * (ii + 1); hfCurrentCutoverDate.Hidden = true; arrItems6[6] = hfCurrentCutoverDate; iUtils.CreateFormGridItem chkDecommission = new iUtils.CreateFormGridItem(); UIView chkDecommissionVw = new UIView(); chkDecommission.SetDimensions(400f,iRFURowVert, 150f, iSectionHdrRowHeight, 30f, 2.5f, 30f, 2.5f); bool bDecommission = false; if (iDecommission > 0) { bDecommission = true; } chkDecommission.SetCheckboxOnOff(bDecommission); chkDecommission.SetBorderWidth(0.0f); chkDecommission.SetSwitchType(2); chkDecommission.SetTag((iRFUDecommissionRowCheckTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { chkDecommission.SetCellColour("Pale Blue"); } else { chkDecommission.SetCellColour("Sky Blue"); } chkDecommissionVw = chkDecommission.GetCheckboxCell(); UISwitch chkDecommissionCheck = chkDecommission.GetCheckbox(); chkDecommissionCheck.ValueChanged += (sender,e) => {CheckboxChanged(sender, e, 1);}; if(bDisableRow) { chkDecommissionCheck.Enabled = false; } arrItems6[7] = chkDecommissionVw; iUtils.CreateFormGridItem chkCommission = new iUtils.CreateFormGridItem(); UIView chkCommissionVw = new UIView(); chkCommission.SetDimensions(550f,iRFURowVert, 150f, iSectionHdrRowHeight, 30f, 2.5f, 30f, 2.5f); bool bCommission = false; if (iCommission > 0) { bCommission = true; } chkCommission.SetCheckboxOnOff(bCommission); chkCommission.SetBorderWidth(0.0f); chkCommission.SetSwitchType(2); chkCommission.SetTag((iRFUCommissionRowCheckTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { chkCommission.SetCellColour("Pale Blue"); } else { chkCommission.SetCellColour("Sky Blue"); } chkCommissionVw = chkCommission.GetCheckboxCell(); UISwitch chkCommissionCheck = chkCommission.GetCheckbox(); chkCommissionCheck.ValueChanged += (sender,e) => {CheckboxChanged(sender, e, 2);}; if(bDisableRow) { chkCommissionCheck.Enabled = false; } arrItems6[8] = chkCommissionVw; iUtils.CreateFormGridItem btnRFU = new iUtils.CreateFormGridItem(); UIView btnRFUVw = new UIView(); btnRFU.SetDimensions(700f,iRFURowVert, 130f, iSectionHdrRowHeight, 8f, 4f, 8f, 4f); if(bDisableRow) { btnRFU.SetLabelText("Committed"); } else { btnRFU.SetLabelText("Commit RFU"); } btnRFU.SetBorderWidth(0.0f); btnRFU.SetFontName("Verdana"); btnRFU.SetFontSize(14f); btnRFU.SetTag((iRFUButtonSaveTagId + (j+1)) * (ii+1)); if (j % 2 == 0) { btnRFU.SetCellColour("Pale Blue"); } else { btnRFU.SetCellColour("Sky Blue"); } btnRFUVw = btnRFU.GetButtonCell(); UIButton btnRFUButton = new UIButton(); btnRFUButton = btnRFU.GetButton(); btnRFUButton.TouchUpInside += (sender,e) => {CommitRFU(sender, e);}; if(bDisableRow) { btnRFUButton.Enabled = false; } arrItems6[9] = btnRFUVw; iColNo = arrITPRFUs.Tables[0].Columns["BatteryCapacity"].Ordinal; string sBatteryCapacity = arrITPRFUs.Tables[0].Rows[j].ItemArray[iColNo].ToString(); UILabel hfRFUBatteryCapacity = new UILabel(); hfRFUBatteryCapacity.Text = sBatteryCapacity; hfRFUBatteryCapacity.Tag = (ihfRowRFUBatteryCapacityTagId + (j+1)) * (ii+1); hfRFUBatteryCapacity.Hidden = true; arrItems6[10] = hfRFUBatteryCapacity; //Now add the row details into the view vwPwrInternalRowId.AddSubviews(arrItems6); iSectionRFUHeight += iHeightToAdd; iRFURowVert += iHeightToAdd; iVert += iHeightToAdd; vwPwrInternalRowId.Frame = new RectangleF(0f, iRFURowInnerTop, 1000f, iRFURowVert); RFUTableRow.AddSubview(vwPwrInternalRowId); iRFURowInnerTop += iRFURowVert; iRFURowVert = 0f; } //Now resize the UIView that is effectively the container for the RFU info for this section //And also store this height in a hidden field for use in the contract and expand functions RFUTableRow.Frame = new RectangleF(0f,iRFURowVertTop,1000f,iSectionRFUHeight); hfSectionHeight.Text = iSectionRFUHeight.ToString(); } iTotalHeight = iVert + 380f; SizeF layoutSize = new SizeF(1000f, iTotalHeight); layout.ContentSize = layoutSize; UILabel hfScrollContentHeight = new UILabel(); hfScrollContentHeight.Text = iTotalHeight.ToString(); hfScrollContentHeight.Tag = 3; hfScrollContentHeight.Hidden = true; layout.AddSubview(hfScrollContentHeight); View.AddSubview(layout); //Now determine what is to be contrated by default for(int iiii=0;iiii< m_iQuestionSections; iiii++) { if(bHideSections[iiii]) { UIButton btnContract = (UIButton)View.ViewWithTag (iContractSectionBtnTagId * (iiii+1)); ContractSection(btnContract, null); //Also display the completed item UILabel lblComplete = (UILabel)View.ViewWithTag(iSectionCompleteLabelTagId * (iiii+1)); lblComplete.Hidden = false; } } } catch (Exception except) { string sTest = except.Message.ToString(); iUtils.AlertBox alert = new iUtils.AlertBox(); alert.CreateErrorAlertDialog(sTest); } }