コード例 #1
0
        void menu_modify_Click(object sender, EventArgs e)
        {
            string strError = "";

            if (this.listView_actions.SelectedIndices.Count == 0)
            {
                strError = "尚未选定要修改的行";
                goto ERROR1;
            }

            ListViewItem item = this.listView_actions.SelectedItems[0];

            List <string> used_fieldnames = GetUsedFieldNames();

            used_fieldnames.Remove(ListViewUtil.GetItemText(item, 0));  // 去掉当前事项已经使用的名字

            OneActionDialog dlg = new OneActionDialog();

            MainForm.SetControlFont(dlg, this.Font, false);
            dlg.ElementCaption   = this.ElementCaption;
            dlg.UserDir          = this.MainForm.UserDir;
            dlg.DataDir          = this.MainForm.DataDir;
            dlg.CfgDom           = this.CfgDom;
            dlg.UsedFieldNames   = used_fieldnames;
            dlg.FieldName        = ListViewUtil.GetItemText(item, 0);
            dlg.FieldValue       = ListViewUtil.GetItemText(item, 1);
            dlg.FieldValueAdd    = ListViewUtil.GetItemText(item, 2);
            dlg.FieldValueRemove = ListViewUtil.GetItemText(item, 3);

            // dlg.Additional = ListViewUtil.GetItemText(item, 4);

            dlg.RefDbName = this.RefDbName;
            // dlg.AddOrRemoveListDropDown += dlg_AddOrRemoveListDropDown;
            dlg.GetValueTable -= new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.GetValueTable += new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.StartPosition  = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            ListViewUtil.ChangeItemText(item, 0, dlg.FieldName);
            ListViewUtil.ChangeItemText(item, 1, dlg.FieldValue);
            ListViewUtil.ChangeItemText(item, 2, dlg.FieldValueAdd);
            ListViewUtil.ChangeItemText(item, 3, dlg.FieldValueRemove);
            ListViewUtil.ChangeItemText(item, 4, dlg.Additional);

            ListViewUtil.SelectLine(item, true);
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }
コード例 #2
0
        private void ChangeItemActionDialog_Load(object sender, EventArgs e)
        {
#if NO
            // state
            this.changeStateActionControl1.ActionString = this.MainForm.AppInfo.GetString(
                "change_" + this.DbType + "_param",
                "state",
                "<不改变>");

            this.changeStateActionControl1.AddString = this.MainForm.AppInfo.GetString(
                "change_" + this.DbType + "_param",
                "state_add",
                "");
            this.changeStateActionControl1.RemoveString = this.MainForm.AppInfo.GetString(
                "change_" + this.DbType + "_param",
                "state_remove",
                "");
#endif
            // 设置第一栏的标题
            this.listView_actions.Columns[0].Text = this.ElementCaption + "名";

            // 恢复 listview 中的内容

            // string strCfgFileName = Path.Combine( this.MainForm.UserDir, this.DbType + "_change_actions.xml");
            string strCfgFileName = Path.Combine(this.MainForm.DataDir, "default\\" + this.DbType + "_change_actions.xml");
            string strError       = "";
            int    nRet           = LoadCfgDom(strCfgFileName,
                                               out strError);
            if (nRet == -1)
            {
                MessageBox.Show(this, strError);
            }

            listView_actions_SelectedIndexChanged(this, new EventArgs());
#if NO
            if (this.CfgDom != null)
            {
                this.comboBox_fieldName.Items.Add("<不使用>");
                OneActionDialog.FillFieldNameList("zh",
                                                  this.CfgDom,
                                                  this.GetUsedFieldNames("state"),
                                                  this.comboBox_fieldName);
                if (string.IsNullOrEmpty(this.comboBox_fieldName.Text) == true &&
                    this.comboBox_fieldName.Items.Count > 0)
                {
                    this.comboBox_fieldName.Text = (string)this.comboBox_fieldName.Items[0];
                }
            }
#endif
        }
コード例 #3
0
        void menu_new_Click(object sender, EventArgs e)
        {
            OneActionDialog dlg = new OneActionDialog();

            MainForm.SetControlFont(dlg, this.Font, false);
            dlg.ElementCaption = this.ElementCaption;
            dlg.UserDir        = this.MainForm.UserDir;
            dlg.DataDir        = this.MainForm.DataDir;
            dlg.CfgDom         = this.CfgDom;
            dlg.UsedFieldNames = GetUsedFieldNames();
            dlg.RefDbName      = this.RefDbName;
            // dlg.AddOrRemoveListDropDown += dlg_AddOrRemoveListDropDown;
            dlg.GetValueTable -= new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.GetValueTable += new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.StartPosition  = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            int index = -1;

            if (this.listView_actions.SelectedIndices.Count > 0)
            {
                index = this.listView_actions.SelectedIndices[0] + 1;
            }
            else
            {
                index = this.listView_actions.Items.Count;  // 追加
            }
            ListViewItem item = new ListViewItem();

            ListViewUtil.ChangeItemText(item, 0, dlg.FieldName);
            ListViewUtil.ChangeItemText(item, 1, dlg.FieldValue);
            ListViewUtil.ChangeItemText(item, 2, dlg.FieldValueAdd);
            ListViewUtil.ChangeItemText(item, 3, dlg.FieldValueRemove);
            ListViewUtil.ChangeItemText(item, 4, dlg.Additional);

            this.listView_actions.Items.Insert(index, item);
            ListViewUtil.SelectLine(item, true);
        }
コード例 #4
0
        int LoadCfgDom(string strFileName,
                       out string strError)
        {
            strError = "";

            this.CfgDom = new XmlDocument();
            try
            {
                this.CfgDom.Load(strFileName);
            }
            catch (Exception ex)
            {
                strError = "装载文件 '" + strFileName + "' 时间发生错误: " + ex.Message;
                return(-1);
            }

#if NO
            OneActionCfg cfg = null;

            // 根据语言相关的 caption 值或者 <> {} 形态的 element 名, 获取 <action> 配置参数
            // return:
            //      -1  出错
            //      0   没有找到定义
            //      1   找到定义
            int nRet = OneActionDialog.GetActionCfg(
                this.CfgDom,
                "{state}",
                out cfg,
                out strError);
            if (nRet == -1)
            {
                throw new Exception(strError);
            }

            this._stateActionCfg = cfg;
#endif
            return(0);
        }
コード例 #5
0
        void menu_modify_Click(object sender, EventArgs e)
        {
            string strError = "";

            if (this.listView_actions.SelectedIndices.Count == 0)
            {
                strError = "尚未选定要修改的行";
                goto ERROR1;
            }

            ListViewItem item = this.listView_actions.SelectedItems[0];

            List<string> used_fieldnames = GetUsedFieldNames();
            used_fieldnames.Remove(ListViewUtil.GetItemText(item, 0));  // 去掉当前事项已经使用的名字

            OneActionDialog dlg = new OneActionDialog();

            MainForm.SetControlFont(dlg, this.Font, false);
            dlg.ElementCaption = this.ElementCaption;
            dlg.UserDir = this.MainForm.UserDir;
            dlg.DataDir = this.MainForm.DataDir;
            dlg.CfgDom = this.CfgDom;
            dlg.UsedFieldNames = used_fieldnames;
            dlg.FieldName = ListViewUtil.GetItemText(item, 0);
            dlg.FieldValue = ListViewUtil.GetItemText(item, 1);
            dlg.FieldValueAdd = ListViewUtil.GetItemText(item, 2);
            dlg.FieldValueRemove = ListViewUtil.GetItemText(item, 3);

            // dlg.Additional = ListViewUtil.GetItemText(item, 4);

            dlg.RefDbName = this.RefDbName;
            // dlg.AddOrRemoveListDropDown += dlg_AddOrRemoveListDropDown;
            dlg.GetValueTable -= new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.GetValueTable += new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != System.Windows.Forms.DialogResult.OK)
                return;

            ListViewUtil.ChangeItemText(item, 0, dlg.FieldName);
            ListViewUtil.ChangeItemText(item, 1, dlg.FieldValue);
            ListViewUtil.ChangeItemText(item, 2, dlg.FieldValueAdd);
            ListViewUtil.ChangeItemText(item, 3, dlg.FieldValueRemove);
            ListViewUtil.ChangeItemText(item, 4, dlg.Additional);

            ListViewUtil.SelectLine(item, true);
            return;
        ERROR1:
            MessageBox.Show(this, strError);
        }
コード例 #6
0
        void menu_new_Click(object sender, EventArgs e)
        {
            OneActionDialog dlg = new OneActionDialog();

            MainForm.SetControlFont(dlg, this.Font, false);
            dlg.ElementCaption = this.ElementCaption;
            dlg.UserDir = this.MainForm.UserDir;
            dlg.DataDir = this.MainForm.DataDir;
            dlg.CfgDom = this.CfgDom;
            dlg.UsedFieldNames = GetUsedFieldNames();
            dlg.RefDbName = this.RefDbName;
            // dlg.AddOrRemoveListDropDown += dlg_AddOrRemoveListDropDown;
            dlg.GetValueTable -= new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.GetValueTable += new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != System.Windows.Forms.DialogResult.OK)
                return;
            int index = -1;

            if (this.listView_actions.SelectedIndices.Count > 0)
                index = this.listView_actions.SelectedIndices[0] + 1;
            else
                index = this.listView_actions.Items.Count;  // 追加

            ListViewItem item = new ListViewItem();
            ListViewUtil.ChangeItemText(item, 0, dlg.FieldName);
            ListViewUtil.ChangeItemText(item, 1, dlg.FieldValue);
            ListViewUtil.ChangeItemText(item, 2, dlg.FieldValueAdd); 
            ListViewUtil.ChangeItemText(item, 3, dlg.FieldValueRemove);
            ListViewUtil.ChangeItemText(item, 4, dlg.Additional);

            this.listView_actions.Items.Insert(index, item);
            ListViewUtil.SelectLine(item, true);
        }