/// <summary> /// 检查按钮状态 /// </summary> /// <param name="page">当前Page</param> private void CheckButtonState(XtraTabPage page) { if (page != null) { if (ReadOnly) { btnSave.Enabled = false; } tmo_questionnaire_category qc = controlData.TabPages[page]; if (xtraTabControlMain.TabPages.Count == 1) //只有一个 { btnPrevious.Enabled = false; btnNext.Enabled = true; btnNext.Text = "提交问卷"; if (ReadOnly) { btnNext.Enabled = false; //只读模式 } } if (xtraTabControlMain.TabPages.Count > 1) { if (controlData != null) { if (qc.Index == 1) //第一页 { btnPrevious.Enabled = false; btnNext.Enabled = true; btnNext.Text = "下一页"; btnNext.Tag = controlData.TabPages.First(x => x.Value.Index == qc.Index + 1).Key; } else if (qc.Index == xtraTabControlMain.TabPages.Count) //最后一页 { btnPrevious.Enabled = true; btnPrevious.Tag = controlData.TabPages.First(x => x.Value.Index == qc.Index - 1).Key; btnNext.Enabled = true; btnNext.Text = "提交问卷"; btnNext.Tag = null; if (ReadOnly) { btnNext.Enabled = false; //只读模式 } } else { btnPrevious.Enabled = true; btnPrevious.Tag = controlData.TabPages.First(x => x.Value.Index == qc.Index - 1).Key; btnNext.Enabled = true; btnNext.Text = "下一页"; btnNext.Tag = controlData.TabPages.First(x => x.Value.Index == qc.Index + 1).Key; } } } } else { btnNext.Enabled = btnPrevious.Enabled = false; } }
public void Init(List <tmo_questionnaire_category> qclist) { if (qclist != null && qclist.Count > 0) { var tabs = qclist.Where(x => x.qc_level == 1).ToList(); tabs.Sort(); for (int i = 0; i < tabs.Count; i++) { tmo_questionnaire_category qc = tabs[i]; qc.Index = i + 1; XtraTabPage page = new XtraTabPage(); page.Name = qc.qc_id; page.Text = qc.qc_name; FlowLayoutPanel flp = new FlowLayoutPanel(); flp.AutoScroll = true; flp.Dock = DockStyle.Fill; flp.FlowDirection = FlowDirection.TopDown; flp.WrapContents = false; page.Controls.Add(flp); var groupboxs = qclist.Where(x => x.qc_pid == qc.qc_id).ToList(); groupboxs.Sort(); foreach (tmo_questionnaire_category qcgroup in groupboxs) { GroupBox gb = new GroupBox(); gb.AutoSize = false; gb.Name = qcgroup.qc_id; gb.Text = qcgroup.qc_name; gb.Margin = new Padding(10, 5, 0, 5); gb.Padding = new Padding(0, 0, 0, 5); FlowLayoutPanel flpgroup = new FlowLayoutPanel(); //flpgroup.Margin = new Padding(0); flpgroup.Padding = new Padding(3); flpgroup.Dock = DockStyle.Fill; flpgroup.FlowDirection = FlowDirection.TopDown; flpgroup.WrapContents = false; gb.Controls.Add(flpgroup); if (qcgroup.Questions != null && qcgroup.Questions.Any()) { int h = 20; qcgroup.Questions.Sort(); qcgroup.Questions.ForEach(x => { if (_status == null) { _status = x.QuestionnaireResult.Userstatus; } UCQuestion ucQuestion = new UCQuestion(x); //ucQuestion.Margin = new Padding(3); h += ucQuestion.Height + 6; flpgroup.Controls.Add(ucQuestion); QuestionList.Add(ucQuestion); }); gb.ClientSize = new Size(857, h); } flp.Controls.Add(gb); } TabPages.Add(page, qc); } InitValidate(); //初始化验证 } }