using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft.Office.Interop.PowerPoint; using GeneralLib; namespace SunVoteARSPPT { public partial class PanelSlideCompGroup : UserControl, IPanel, IPanelChange { TagSet mTagSet = null; public TagSet TagSet { get { return mTagSet; } set { mTagSet = value; //ucKeypadPara.TagSet = value; } } private bool IsLoad = false; public PanelSlideCompGroup() { InitializeComponent(); FrmSystemSet_LanguageSetEvent();//杨斌 2017-03-20 FrmSystemSet.LanguageSetEvent += new FrmSystemSet.LanguageSetEventHander(FrmSystemSet_LanguageSetEvent); FrmVoteBar.PanelEnabledEvent += new FrmVoteBar.PanelEnabledEventHander(FrmVoteBar_PanelEnabledEvent); //设置控件大小 this.Height = gbxSet.Bottom; //GlobalInfo.SysLanguage.SetLanguage(this.Name, this); //gbxSet.Text = GlobalInfo.SysLanguage.LPT.ReadString("rbSunVoteARS", "btnAnalyzeSlideGroup", "答题分组对比");//杨斌 2014-12-12 //chkInvert.Text = GlobalInfo.SysLanguage.LPT.ReadString("FrmAnalyzeSlideGroup", "btnInvert", "反转对比选项"); ////杨斌 2017-02-15 //lblSlide1.Text = GlobalInfo.SysLanguage.LPT.ReadString("FrmAnalyzeSlideGroup", "lvwSlide_1", "对比幻灯片"); //lblSlide2.Text = GlobalInfo.SysLanguage.LPT.ReadString("FrmAnalyzeSlideGroup", "lvwGroup_1", "分组"); } void FrmVoteBar_PanelEnabledEvent(bool enabled) { this.Enabled = enabled; } void FrmSystemSet_LanguageSetEvent() { GlobalInfo.SysLanguage.SetLanguage(this.Name, this); if (TagSet != null) cboChartType.SelectedIndex = TagSet.GetValue(TagKey.SlideCompGroupChartType).ToInt;//杨斌 2018-07-02 gbxSet.Text = GlobalInfo.SysLanguage.LPT.ReadString("rbSunVoteARS", "btnAnalyzeSlideGroup", "答题分组对比");//杨斌 2014-12-12 chkInvert.Text = GlobalInfo.SysLanguage.LPT.ReadString("FrmAnalyzeSlideGroup", "btnInvert", "反转对比选项"); //杨斌 2017-02-15 lblSlide1.Text = GlobalInfo.SysLanguage.LPT.ReadString("FrmAnalyzeSlideGroup", "lvwSlide_1", "对比幻灯片"); lblSlide2.Text = GlobalInfo.SysLanguage.LPT.ReadString("FrmAnalyzeSlideGroup", "lvwGroup_1", "分组"); } public Color PanelColor { get { return this.BackColor; } set { this.BackColor = value; } } ///// ///// 加载的Slide列表 ///// //private List LstSlideIds = new List(); //private string cResponseType = "'Group','Choice','Judge','Vote','Grade'"; /// /// no.题目内容,tt_id,t_id /// List> LstSlide = new List>(); private void LoadSlide() { IsLoad = true; try { LstSlide.Clear(); cboSlide.Items.Clear(); Presentation pres = Globals.SunVoteARSAddIn.Application.ActivePresentation; for (int i = 1; i <= pres.Slides.Count; i++) { Slide sld = pres.Slides[i]; ResponseType type = PPTOper.GetSlideType(sld); switch (type) { case ResponseType.Group://杨斌 2018-03-20 case ResponseType.Choice: case ResponseType.Judge: case ResponseType.Vote: case ResponseType.Grade: string showItem = i + ". " + PPTOper.GetSlideTitle(sld); string showID = "'" + sld.SlideID + "'"; cboSlide.Items.Add(showItem); LstSlide.Add(new List { showID, showItem }); if (TagSet.GetValue(TagKey.SlideCompGroupSlideID).Value == showID) cboSlide.SelectedIndex = cboSlide.Items.Count - 1; break; } } } catch (Exception ex) { SystemLog.WriterLog(ex); } IsLoad = false; //默认选中题目 if ((cboSlide.Items.Count > 0) && (cboSlide.SelectedIndex < 0)) { bool temp = TagSet.ReadOnlyPPT; TagSet.ReadOnlyPPT = false; cboSlide.SelectedIndex = 0; TagSet.ReadOnlyPPT = temp; } } /// /// 组名,'列ID' /// List> LstGroup = new List>(); private void LoadGroup() { IsLoad = true; try { LstGroup.Clear(); cboGroup.Items.Clear(); //名单分组 string sql = ""; System.Data.DataTable tb = null; if (GlobalInfo.response.EnableList) { sql = "SELECT ST_RosterColumn.RC_Index, ST_RosterColumn.RC_Name, ST_RosterColumn.RC_ID" + " FROM ST_RosterColumn" + " WHERE (((ST_RosterColumn.RC_Index)>1))" + " ORDER BY ST_RosterColumn.RC_Index ASC"; GlobalInfo.DBOperation.OpenDataSet(sql); tb = GlobalInfo.DBOperation.DataSet.Tables[0]; for (int iRow = 0; iRow < tb.Rows.Count; iRow++) { DataRow row = tb.Rows[iRow]; string showItem = (LstGroup.Count + 1) + "." + row["RC_Name"]; string showID = row["RC_ID"] + ""; cboGroup.Items.Add(showItem); LstGroup.Add(new List { showID, showItem }); if (TagSet.GetValue(TagKey.SlideCompGroupGroupID).Value == showID) cboGroup.SelectedIndex = cboGroup.Items.Count - 1; //string cid = row["RC_ID"].ToString(); //string name = row["RC_Name"].ToString(); //ListViewItem item = lvwGroup.Items.Add((lvwGroup.Items.Count + 1).ToString()); //item.SubItems.Add(name); //item.Tag = cid;//名单分组,数字类型,不带"'" } GlobalInfo.DBOperation.CloseDataSet(); } //反馈分组 Presentation pres = Globals.SunVoteARSAddIn.Application.ActivePresentation; for (int i = 1; i <= pres.Slides.Count; i++) { Slide sld = pres.Slides[i]; ResponseType type = PPTOper.GetSlideType(sld); switch (type) { case ResponseType.Group: case ResponseType.Choice://杨斌 2018-03-20 case ResponseType.Judge: case ResponseType.Vote: case ResponseType.Grade: string showItem = i + ". " + PPTOper.GetSlideTitle(sld); string showID = "'" + sld.SlideID + "'"; cboGroup.Items.Add(showItem); LstGroup.Add(new List { showID, showItem }); if (TagSet.GetValue(TagKey.SlideCompGroupGroupID).Value == showID) cboGroup.SelectedIndex = cboGroup.Items.Count - 1; break; } } //图表类型。杨斌 2018-07-02 cboChartType.SelectedIndex = TagSet.LoadValue(TagKey.SlideCompGroupChartType, 0).ToInt; } catch (Exception ex) { SystemLog.WriterLog(ex); } IsLoad = false; //默认选中分组 if ((cboGroup.Items.Count > 0) && (cboGroup.SelectedIndex < 0)) { bool temp = TagSet.ReadOnlyPPT; TagSet.ReadOnlyPPT = false; cboGroup.SelectedIndex = 0; TagSet.ReadOnlyPPT = temp; } } /// /// 加载参数面板数据 /// public void LoadData() { //分组对比图表实现 杨斌 2017-03-20 LoadSlide(); LoadGroup(); } public void ChangeData(TagKey tagKey, object value) { //if (tagKey == TagKey.Group_OptionCount) // ControlOper.TrySetNumericUpDownValue(nudOptionCount, TagSet.LoadValue(tagKey, nudOptionCount.Value).ToInt); } private void PanelSlideCompChart_Load(object sender, EventArgs e) { //GlobalInfo.SysLanguage.SetLanguage(this.Name, this); //InitType(); } private void chkInvert_CheckedChanged(object sender, EventArgs e) { if (IsLoad) return; TagSet.SetValue(TagKey.SlideCompInvert, chkInvert.Checked ? 1 : 0); Globals.SunVoteARSAddIn.PPTEdit.InitChart(false, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); } private void cboSlide_SelectedIndexChanged(object sender, EventArgs e) { if (IsLoad) return; TagSet.SetValue(TagKey.SlideCompGroupSlideID, LstSlide[cboSlide.SelectedIndex][0]); TagSet.SetValue(TagKey.SlideCompGroupSlideTitle, LstSlide[cboSlide.SelectedIndex][1]); Globals.SunVoteARSAddIn.PPTEdit.InitChart(false, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); } private void cboGroup_SelectedIndexChanged(object sender, EventArgs e) { if (IsLoad) return; TagSet.SetValue(TagKey.SlideCompGroupGroupID, LstGroup[cboGroup.SelectedIndex][0]); Globals.SunVoteARSAddIn.PPTEdit.InitChart(false, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); } private void cboChartType_SelectedIndexChanged(object sender, EventArgs e) { //图表类型。杨斌 2018-07-02 if (IsLoad) return; TagSet.SetValue(TagKey.SlideCompGroupChartType, cboChartType.SelectedIndex); Globals.SunVoteARSAddIn.PPTEdit.InitChart(false, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); } } }