예제 #1
0
        /// <summary>
        /// 进行选择操作
        /// </summary>
        public void Operate()
        {
            // 获取整个任务表的数据
            try
            {
                if (conn.State == ConnectionState.Closed) // 打开sql连接
                {
                    conn.Open();
                }

                string sqlString = string.Format("SELECT * FROM {0}", "tbl_quests");
                taskTable = Helper.GetDataTable(sqlString, conn);
            }
            catch (SqlException ex)
            {
                MessageBox.Show("在读取任务信息时产生sql异常: " + ex.ToString());
            }
            finally
            {
                if (conn.State == ConnectionState.Open) // 关闭sql连接
                {
                    conn.Close();
                }
            }

            // 显示任务选择窗体
            List <string> taskStringList = new List <string>(); // 任务字符串链表
            List <string> taskIDList     = new List <string>(); // 选中的任务id链表
            string        taskID;                               // 任务的id

            FillTaskItems(node, taskStringList);
            MultiSelectForm mForm = new MultiSelectForm("请选择需要编辑的任务");

            mForm.ItemList = taskStringList;
            mForm.ShowItems();
            DialogResult result = mForm.ShowDialog();

            if (result != DialogResult.OK) // 用户没有确认选择,直接返回
            {
                return;
            }
            if (mForm.ItemList.Count == 0) // 用户没有选择任何任务,直接返回
            {
                MessageBox.Show("你没有选择需要编辑的任务!");
                return;
            }

            foreach (string s in mForm.ItemList)
            {
                taskID = GetTaskID(s);
                if (taskID != null)
                {
                    taskIDList.Add(taskID);
                }
            }

            // 显示字段选择窗体
            List <string> fieldList = new List <string>(); // 选中的字段链表

            foreach (DataColumn c in taskTable.Columns)
            {
                fieldList.Add(c.ColumnName);
            }
            mForm                = new MultiSelectForm("请选择需要编辑的字段");
            mForm.ItemList       = fieldList;
            mForm.SelectItemList = displayFieldList;
            mForm.ShowItems();
            result = mForm.ShowDialog();
            if (result != DialogResult.OK) // 用户没有确认选择,直接返回
            {
                return;
            }
            if (mForm.ItemList.Count == 0) // 用户没有选择任何任务,直接返回
            {
                MessageBox.Show("你没有选择需要编辑的字段!");
                return;
            }

            MultiTaskEditForm eForm = new MultiTaskEditForm(conn, taskTable, taskIDList, fieldList);

            eForm.ShowDialog();
        }
예제 #2
0
        /// <summary>
        /// 进行选择操作
        /// </summary>
        public void Operate()
        {
            // 获取整个任务表的数据
            try
            {
                if(conn.State == ConnectionState.Closed) // 打开sql连接
                {
                    conn.Open();
                }

                string sqlString = string.Format("SELECT * FROM {0}", "tbl_quests");
                taskTable = Helper.GetDataTable(sqlString, conn);
            }
            catch(SqlException ex)
            {
                MessageBox.Show("在读取任务信息时产生sql异常: " + ex.ToString());
            }
            finally
            {
                if(conn.State == ConnectionState.Open) // 关闭sql连接
                {
                    conn.Close();
                }
            }

            // 显示任务选择窗体
            List<string> taskStringList = new List<string>(); // 任务字符串链表
            List<string> taskIDList = new List<string>(); // 选中的任务id链表
            string taskID; // 任务的id

            FillTaskItems(node, taskStringList);
            MultiSelectForm mForm = new MultiSelectForm("请选择需要编辑的任务");
            mForm.ItemList = taskStringList;
            mForm.ShowItems();
            DialogResult result = mForm.ShowDialog();
            if(result != DialogResult.OK) // 用户没有确认选择,直接返回
            {
                return;
            }
            if(mForm.ItemList.Count == 0) // 用户没有选择任何任务,直接返回
            {
                MessageBox.Show("你没有选择需要编辑的任务!");
                return;
            }

            foreach(string s in mForm.ItemList)
            {
                taskID = GetTaskID(s);
                if(taskID != null)
                {
                    taskIDList.Add(taskID);
                }
            }

            // 显示字段选择窗体
            List<string> fieldList = new List<string>(); // 选中的字段链表
            foreach(DataColumn c in taskTable.Columns)
            {
                fieldList.Add(c.ColumnName);
            }
            mForm = new MultiSelectForm("请选择需要编辑的字段");
            mForm.ItemList = fieldList;
            mForm.SelectItemList = displayFieldList;
            mForm.ShowItems();
            result = mForm.ShowDialog();
            if (result != DialogResult.OK) // 用户没有确认选择,直接返回
            {
                return;
            }
            if (mForm.ItemList.Count == 0) // 用户没有选择任何任务,直接返回
            {
                MessageBox.Show("你没有选择需要编辑的字段!");
                return;
            }

            MultiTaskEditForm eForm = new MultiTaskEditForm(conn, taskTable, taskIDList, fieldList);
            eForm.ShowDialog();
        }