Exemplo n.º 1
0
        void menu_newServer(object sender, System.EventArgs e)
        {
            int nActiveLine = -1;

            if (ListView.SelectedIndices.Count != 0)
            {
                nActiveLine = ListView.SelectedIndices[0];
            }


            // ListViewItem item = listView1.Items[nActiveLine];

            LoginDlg dlg = new LoginDlg();

            dlg.Font = GuiUtil.GetDefaultFont();

            dlg.Text = "新增服务器地址和缺省帐户";

            if (nActiveLine == -1)
            {
                // 无参考事项情形的新增
                dlg.textBox_serverAddr.Text = "http://dp2003.com/dp2kernel";
                dlg.textBox_userName.Text   = "public";
            }
            else
            {
                dlg.textBox_password.Text         = ((Server)Servers[nActiveLine]).DefaultPassword;
                dlg.textBox_serverAddr.Text       = ((Server)Servers[nActiveLine]).Url;
                dlg.textBox_userName.Text         = ((Server)Servers[nActiveLine]).DefaultUserName;
                dlg.checkBox_savePassword.Checked = ((Server)Servers[nActiveLine]).SavePassword;
            }

            dlg.ShowDialog(this);

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

            Server server = Servers.NewServer(nActiveLine);

            server.DefaultPassword = dlg.textBox_password.Text;
            server.Url             = dlg.textBox_serverAddr.Text;
            server.DefaultUserName = dlg.textBox_userName.Text;
            server.SavePassword    = dlg.checkBox_savePassword.Checked;

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(ListView,
                                    Servers.Count - 1,
                                    true);

            m_bChanged = true;
        }
Exemplo n.º 2
0
        private void toolStripButton_upLevel_Click(object sender, EventArgs e)
        {
            if (this.listView_levels.SelectedItems.Count == 0)
            {
                ListViewItem tail = null;

                if (this.listView_levels.Items.Count > 0)
                {
                    tail = this.listView_levels.Items[this.listView_levels.Items.Count - 1];
                }

                if (tail != null)
                {
                    ListViewUtil.SelectLine(tail, true);
                }

                return;
            }

            int index = this.listView_levels.SelectedIndices[0];

            index--;
            if (index >= 0)
            {
                ListViewUtil.SelectLine(this.listView_levels, index, true);
            }
        }
Exemplo n.º 3
0
        private void toolStripButton_location_modify_Click(object sender, EventArgs e)
        {
            string strError = "";
            if (this.listView_location_list.SelectedItems.Count == 0)
            {
                strError = "尚未选定要修改的馆藏地点事项";
                goto ERROR1;
            }
            ListViewItem item = this.listView_location_list.SelectedItems[0];

            LocationItemDialog dlg = new LocationItemDialog();

            dlg.LocationString = ListViewUtil.GetItemText(item, 0);
            dlg.CanBorrow = (ListViewUtil.GetItemText(item, 1) == "是") ? true : false;
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != DialogResult.OK)
                return;

            ListViewUtil.ChangeItemText(item, 0, dlg.LocationString);
            ListViewUtil.ChangeItemText(item, 1, dlg.CanBorrow == true ? "是" : "否");

            ListViewUtil.SelectLine(item, true);
            return;
        ERROR1:
            MessageBox.Show(this, strError);
        }
Exemplo n.º 4
0
        void menu_newColumn_Click(object sender, EventArgs e)
        {
            ReportColumnDialog dlg = new ReportColumnDialog();

            MainForm.SetControlFont(dlg, this.Font, false);
            if (this.AppInfo != null)
            {
                this.AppInfo.LinkFormState(dlg, "ReportColumnDialog_state");
            }
            dlg.ShowDialog(this);
            if (this.AppInfo != null)
            {
                this.AppInfo.UnlinkFormState(dlg);
            }

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

            ListViewItem item = new ListViewItem();

            ListViewUtil.ChangeItemText(item, COLUMN_NAME, dlg.ColumnName);
            ListViewUtil.ChangeItemText(item, COLUMN_DATATYPE, dlg.DataType);
            ListViewUtil.ChangeItemText(item, COLUMN_ALIGN, dlg.ColumnAlign);
            ListViewUtil.ChangeItemText(item, COLUMN_CSSCLASS, dlg.CssClass);
            ListViewUtil.ChangeItemText(item, COLUMN_SUM, dlg.ColumnSum == true ? "yes" : "no");
            ListViewUtil.ChangeItemText(item, COLUMN_EVAL, dlg.Eval);

            this.listView_columns.Items.Add(item);
            ListViewUtil.SelectLine(item, true);
        }
Exemplo n.º 5
0
        bool SelectItem(string id)
        {
            if (id == null)
            {
                return(false);
            }

            IdInfo info = IdInfo.Parse(id);

            foreach (ListViewItem item in this.listView_tags.Items)
            {
                if (info.Prefix == "pii")
                {
                    string current_pii = ListViewUtil.GetItemText(item, COLUMN_PII);
                    if (current_pii == info.Text)
                    {
                        ListViewUtil.SelectLine(item, true);
                        return(true);
                    }
                }

                if (info.Prefix == "uid")
                {
                    string current_uid = ListViewUtil.GetItemText(item, COLUMN_UID);
                    if (current_uid == info.Text)
                    {
                        ListViewUtil.SelectLine(item, true);
                        return(true);
                    }
                }
            }

            return(false);
        }
Exemplo n.º 6
0
        void FillList()
        {
            this.listView_papers.Items.Clear();

            if (this.Document == null)
            {
                return;
            }

            foreach (PaperSize ps in this.Document.PrinterSettings.PaperSizes)
            {
                ListViewItem item = new ListViewItem();
                ListViewUtil.ChangeItemText(item, COLUMN_PAPERNAME, ps.PaperName);
                ListViewUtil.ChangeItemText(item, COLUMN_KIND, ps.Kind.ToString());
                ListViewUtil.ChangeItemText(item, COLUMN_WIDTH, ps.Width.ToString());
                ListViewUtil.ChangeItemText(item, COLUMN_HEIGHT, ps.Height.ToString());
                this.listView_papers.Items.Add(item);
            }

            if (this.listView_papers.Items.Count > 0)
            {
                ListViewItem select = ListViewUtil.FindItem(this.listView_papers, this.textBox_paperName.Text, COLUMN_PAPERNAME);
                if (select != null)
                {
                    ListViewUtil.SelectLine(select, true);
                }
                else
                {
                    ListViewUtil.SelectLine(this.listView_papers, 0, true);
                }
            }
        }
Exemplo n.º 7
0
        bool MoveUpDown(ListViewItem item, bool up)
        {
            int index = this.listView1.Items.IndexOf(item);

            if (index == -1)
            {
                return(false);
            }
            if (up && index == 0)
            {
                return(false);
            }
            if (up == false && index >= this.listView1.Items.Count)
            {
                return(false);
            }
            this.listView1.Items.Remove(item);


            if (up)
            {
                index--;
            }
            else
            {
                index++;
            }
            this.listView1.Items.Insert(index, item);
            ListViewUtil.SelectLine(item, true);

            XmlElement ref_server = null;
            // 找到基点 ListViewItem
            {
                ListViewItem ref_item = null;
                if (index + 1 < this.listView1.Items.Count)
                {
                    ref_item   = this.listView1.Items[index + 1];
                    ref_server = (XmlElement)ref_item.Tag;
                }
            }

            XmlElement server = (XmlElement)item.Tag;

            // 修改 XML
            _dom.DocumentElement.RemoveChild(server);
            if (ref_server != null)
            {
                _dom.DocumentElement.InsertBefore(server, ref_server);
            }
            else
            {
                _dom.DocumentElement.AppendChild(server);
            }

            this.Changed = true;
            return(true);
        }
Exemplo n.º 8
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);
        }
Exemplo n.º 9
0
        private void button_groupContents_new_Click(object sender, EventArgs e)
        {
            CellLineDialog dlg = new CellLineDialog();

            MainForm.SetControlFont(dlg, this.Font, false);

            dlg.FillGroupFieldNameTable();
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

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

            // 查重?
            // 名称查重
            ListViewItem dup = ListViewUtil.FindItem(this.listView_groupContents_lines, dlg.FieldName, 0);

            if (dup != null)
            {
                // 让操作者能看见已经存在的行
                ListViewUtil.SelectLine(dup, true);
                dup.EnsureVisible();

                DialogResult result = MessageBox.Show(this,
                                                      "当前已经存在名为 '" + dlg.FieldName + "' 的内容行。继续新增?",
                                                      "BindingOptionDialog",
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Question,
                                                      MessageBoxDefaultButton.Button2);
                if (result == DialogResult.No)
                {
                    return;
                }
            }



            ListViewItem item = new ListViewItem();

            item.Text = dlg.FieldName;
            ListViewUtil.ChangeItemText(item, 1, dlg.Caption);

            this.listView_groupContents_lines.Items.Add(item);
            ListViewUtil.SelectLine(item, true);
            item.EnsureVisible();

            listView_groupContents_lines_SelectedIndexChanged(sender, null);

            this.m_bGroupContentsChanged = true;
        }
Exemplo n.º 10
0
        void menu_modifyServer(object sender, System.EventArgs e)
        {
            if (listView1.SelectedIndices.Count == 0)
            {
                MessageBox.Show(this, "尚未选择要修改的事项 ...");
                return;
            }


            int nActiveLine = listView1.SelectedIndices[0];
            // ListViewItem item = listView1.Items[nActiveLine];

            ServerDlg dlg = new ServerDlg();

            // GuiUtil.AutoSetDefaultFont(dlg);
            GuiUtil.SetControlFont(dlg, this.Font);

            dlg.Text = "修改缺省帐户参数";

            dlg.ServerName   = ((dp2Server)Servers[nActiveLine]).Name;
            dlg.Password     = ((dp2Server)Servers[nActiveLine]).DefaultPassword;
            dlg.ServerUrl    = ((dp2Server)Servers[nActiveLine]).Url;
            dlg.UserName     = ((dp2Server)Servers[nActiveLine]).DefaultUserName;
            dlg.SavePassword = ((dp2Server)Servers[nActiveLine]).SavePassword;

            dlg.ShowDialog(this);

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

            ((dp2Server)Servers[nActiveLine]).Name            = dlg.ServerName;
            ((dp2Server)Servers[nActiveLine]).DefaultPassword = dlg.Password;
            ((dp2Server)Servers[nActiveLine]).Url             = dlg.ServerUrl;
            ((dp2Server)Servers[nActiveLine]).DefaultUserName = dlg.UserName;
            ((dp2Server)Servers[nActiveLine]).SavePassword    = dlg.SavePassword;

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(listView1,
                                    nActiveLine,
                                    true);

            m_bChanged = true;
        }
Exemplo n.º 11
0
        void menu_modifyServer(object sender, System.EventArgs e)
        {
            if (ListView.SelectedIndices.Count == 0)
            {
                MessageBox.Show(this, "尚未选择要修改的事项 ...");
                return;
            }

            int nActiveLine = ListView.SelectedIndices[0];
            // ListViewItem item = listView1.Items[nActiveLine];

            LoginDlg dlg = new LoginDlg();

            dlg.Font = GuiUtil.GetDefaultFont();

            dlg.Text = "修改缺省帐户参数";

            dlg.textBox_password.Text         = ((Server)Servers[nActiveLine]).DefaultPassword;
            dlg.textBox_serverAddr.Text       = ((Server)Servers[nActiveLine]).Url;
            dlg.textBox_userName.Text         = ((Server)Servers[nActiveLine]).DefaultUserName;
            dlg.checkBox_savePassword.Checked = ((Server)Servers[nActiveLine]).SavePassword;

            dlg.ShowDialog(this);

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

            ((Server)Servers[nActiveLine]).DefaultPassword = dlg.textBox_password.Text;
            ((Server)Servers[nActiveLine]).Url             = dlg.textBox_serverAddr.Text;
            ((Server)Servers[nActiveLine]).DefaultUserName = dlg.textBox_userName.Text;
            ((Server)Servers[nActiveLine]).SavePassword    = dlg.checkBox_savePassword.Checked;

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(ListView,
                                    nActiveLine,
                                    true);

            m_bChanged = true;
        }
Exemplo n.º 12
0
        private void toolStripButton_location_new_Click(object sender, EventArgs e)
        {
            LocationItemDialog dlg = new LocationItemDialog();

            dlg.CreateMode = true;
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != DialogResult.OK)
                return;

            ListViewItem item = new ListViewItem(dlg.LocationString, 0);
            item.SubItems.Add(dlg.CanBorrow == true ? "是" : "否");

            this.listView_location_list.Items.Add(item);
            ListViewUtil.SelectLine(item, true);
        }
Exemplo n.º 13
0
        void FillLevels()
        {
            string strError = "";

            this.listView_levels.Items.Clear();
            this.listView_list.Items.Clear();

            string strKey = this.Key;

            for (int i = strKey.Length; i > 0; i--)
            {
                string       strText = strKey.Substring(0, i);
                ListViewItem item    = new ListViewItem();
                ListViewUtil.ChangeItemText(item, 0, strText);

                this.listView_levels.Items.Insert(0, item);

                List <string> results = null;
                int           nRet    = Search(this.DbName,
                                               strText,
                                               this.toolStripButton_wild.Checked == true ? "left" : "exact",
                                               1000,
                                               ref results,
                                               out strError);
                if (nRet == -1)
                {
                    goto ERROR1;
                }

                if (nRet > 0)
                {
                    ListViewUtil.ChangeItemText(item, 1, nRet.ToString());
                }
            }

            // 自动选中最后一项
            if (this.listView_levels.Items.Count > 0)
            {
                ListViewUtil.SelectLine(this.listView_levels, this.listView_levels.Items.Count - 1, true);
            }
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }
Exemplo n.º 14
0
        private void SelectTagDialog_Load(object sender, EventArgs e)
        {
#if NO
            foreach (OneTag tag in _tags)
            {
                ListViewItem item = new ListViewItem(tag.ReaderName);
                ListViewUtil.ChangeItemText(item, 1, tag.UID);
                item.Tag = tag;
                this.listView1.Items.Add(item);
            }

            if (this.listView1.Items.Count > 0)
            {
                ListViewUtil.SelectLine(this.listView1, 0, true);
            }
#endif
            Task.Run(() => { UpdateChipList(); });
        }
Exemplo n.º 15
0
        bool SelectItem(string pii)
        {
            if (pii == null)
            {
                return(false);
            }
            foreach (ListViewItem item in this.listView1.Items)
            {
                string current_pii = ListViewUtil.GetItemText(item, COLUMN_PII);
                if (current_pii == pii)
                {
                    ListViewUtil.SelectLine(item, true);
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 16
0
        void menu_newReport_Click(object sender, EventArgs e)
        {
            ReportApplyForm dlg = new ReportApplyForm();

            MainForm.SetControlFont(dlg, this.Font, false);
            dlg.MainForm    = this.MainForm;
            dlg.ReportForm  = this.ReportForm;
            dlg.LibraryCode = ReportForm.GetOriginLibraryCode(this.comboBox_general_libraryCode.Text);
            dlg.CfgFileDir  = Path.Combine(this.MainForm.UserDir, "report_def"); //  Path.Combine(this.MainForm.UserDir, "report_def");
REDO_INPUT:
            this.MainForm.AppInfo.LinkFormState(dlg, "ReportApplyForm_state");
            dlg.UiState = this.MainForm.AppInfo.GetString("libraryreportconfig_form", "reportapplyform_ui_state", "");
            dlg.ShowDialog(this);
            this.MainForm.AppInfo.SetString("libraryreportconfig_form", "reportapplyform_ui_state", dlg.UiState);
            this.MainForm.AppInfo.UnlinkFormState(dlg);

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

            // 对报表文件名进行查重
            ListViewItem dup = ListViewUtil.FindItem(this.listView_reports, dlg.ReportName, COLUMN_REPORT_NAME);

            if (dup != null)
            {
                ListViewUtil.SelectLine(dup, true);
                MessageBox.Show(this, "报表名为 '" + dlg.ReportName + "' 的事项已经存在,不允许重复创建。请修改报表名");
                goto REDO_INPUT;
            }

            ListViewItem item = new ListViewItem();

            ListViewUtil.ChangeItemText(item, COLUMN_REPORT_NAME, dlg.ReportName);
            ListViewUtil.ChangeItemText(item, COLUMN_REPORT_FREQ, dlg.Freguency);
            ListViewUtil.ChangeItemText(item, COLUMN_REPORT_TYPE, dlg.ReportType);
            ListViewUtil.ChangeItemText(item, COLUMN_REPORT_CFGFILE, dlg.ReportCfgFileName);
            ListViewUtil.ChangeItemText(item, COLUMN_REPORT_NAMETABLE, dlg.NameTable);
            this.listView_reports.Items.Add(item);

            ListViewUtil.SelectLine(item, true);

            this.Changed = true;
        }
Exemplo n.º 17
0
        private void toolStripButton_downLevel_Click(object sender, EventArgs e)
        {
            if (this.listView_levels.SelectedItems.Count == 0)
            {
                if (this.listView_levels.Items.Count > 0)
                {
                    ListViewUtil.SelectLine(this.listView_levels, 0, true);
                }
                return;
            }

            int index = this.listView_levels.SelectedIndices[0];

            index++;
            if (index < this.listView_levels.Items.Count)
            {
                ListViewUtil.SelectLine(this.listView_levels, index, true);
            }
        }
Exemplo n.º 18
0
        void FillList(bool bAutoSelect)
        {
            listView1.Items.Clear();

            XmlNodeList nodes = dom.DocumentElement.SelectNodes("template");

            for (int i = 0; i < nodes.Count; i++)
            {
                string strName    = DomUtil.GetAttr(nodes[i], "name");
                string strComment = DomUtil.GetAttr(nodes[i], "comment");

                ListViewItem item = new ListViewItem(strName, 0);

                listView1.Items.Add(item);

                item.SubItems.Add(strComment);
            }

            // 选择第一项
            if (bAutoSelect == true)
            {
                if (String.IsNullOrEmpty(this.SelectedName) == false)
                {
                    if (listView1.Items.Count != 0)
                    {
                        ListViewItem item = ListViewUtil.FindItem(this.listView1, this.SelectedName, 0);
                        if (item != null)
                        {
                            ListViewUtil.SelectLine(item, true);
                        }
                    }
                }
                else
                {
                    if (listView1.Items.Count != 0)
                    {
                        listView1.Items[0].Selected = true;
                    }
                }
            }

            listView1_SelectedIndexChanged(null, null);
        }
Exemplo n.º 19
0
        // 新增一个事项
        private void toolStripButton_newItem_Click(object sender, EventArgs e)
        {
            OrderOutputItemDialog dlg = new OrderOutputItemDialog();

            MainForm.SetControlFont(dlg, this.Font, false);

            dlg.ScriptManager = this.ScriptManager;
            dlg.AppInfo       = this.AppInfo;

            dlg.ExcludeSellers = GetUsedSellers(null);

            dlg.GetValueTable -= new GetValueTableEventHandler(dlg_GetValueTable);
            dlg.GetValueTable += new GetValueTableEventHandler(dlg_GetValueTable);

            dlg.StartPosition = FormStartPosition.CenterScreen;

REDO_INPUT:
            dlg.ShowDialog(this);

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

            // TODO: 渠道名查重
            ListViewItem dup = ListViewUtil.FindItem(this.listView_list, dlg.Seller, 0);

            if (dup != null)
            {
                MessageBox.Show(this, "渠道名 '" + dlg.Seller + "' 在当前列表中已经存在。请重新输入...");
                goto REDO_INPUT;
            }

            ListViewItem item = new ListViewItem();

            item.Text = dlg.Seller;
            item.SubItems.Add(dlg.OutputFormat);

            this.listView_list.Items.Add(item);
            ListViewUtil.SelectLine(item, true);
            this.m_bChanged = true;
        }
Exemplo n.º 20
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);
        }
Exemplo n.º 21
0
        void menu_newItem_Click(object sender, EventArgs e)
        {
            int index = -1;

            if (this.listView1.SelectedIndices.Count > 0)
            {
                index = this.listView1.SelectedIndices[0];
            }

            TwoStringDialog dlg = new TwoStringDialog();

REDO:
            dlg.ShowDialog(this);
            if (dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            ListViewItem dup = ListViewUtil.FindItem(this.listView1, dlg.SourceString, 0);

            if (dup != null)
            {
                MessageBox.Show(this, "源字符串为 '" + dlg.SourceString + "' 的事项在列表中已经存在了,不允许重复。请修改");
                goto REDO;
            }

            ListViewItem item = new ListViewItem();

            ListViewUtil.ChangeItemText(item, 0, dlg.SourceString);
            ListViewUtil.ChangeItemText(item, 1, dlg.TargetString);

            if (index == -1)
            {
                this.listView1.Items.Add(item);
            }
            else
            {
                this.listView1.Items.Insert(index, item);
            }
            ListViewUtil.ClearSelection(this.listView1);
            ListViewUtil.SelectLine(item, true);
        }
Exemplo n.º 22
0
        bool SelectItem(string id)
        {
            if (id == null)
            {
                return(false);
            }

            IdInfo info = IdInfo.Parse(id);
            List <ListViewItem> level1_items = new List <ListViewItem>();
            List <ListViewItem> level2_items = new List <ListViewItem>();

            // List<ItemAndWeight> results = new List<ItemAndWeight>();
            foreach (ListViewItem item in this.listView_tags.Items)
            {
                if (info.Prefix == "pii")
                {
                    // string current_pii = ListViewUtil.GetItemText(item, COLUMN_PII);
                    string current_pii = GetItemPII(item);
                    if (current_pii == info.Text)
                    {
                        level1_items.Add(item);
                        //ListViewUtil.SelectLine(item, true);
                        //return true;
                    }
                    else if (StringUtil.IsInList("auto_or_blankPII", this.AutoSelectCondition) && string.IsNullOrEmpty(current_pii) == true)
                    {
                        level2_items.Add(item);
                    }
                }

                if (info.Prefix == "uid")
                {
                    string current_uid = ListViewUtil.GetItemText(item, COLUMN_UID);
                    if (current_uid == info.Text)
                    {
                        level1_items.Add(item);
                        // ListViewUtil.SelectLine(item, true);
                        // return true;
                    }
                }
            }

            if (level1_items.Count > 0)
            {
                ListViewUtil.SelectLine(level1_items[0], true);
                return(true);
            }

            // 只有当 level2 命中精确为一个时才选中。命中多了则无法选择
            if (level2_items.Count == 1)
            {
                ListViewUtil.SelectLine(level2_items[0], true);
                return(true);
            }

            // 触发提示
            if (this.AskTag != null)
            {
                AskTagEventArgs e = new AskTagEventArgs();
                this.AskTag(this, e);
                this.ShowMessage(e.Text, "green", true);
            }

            return(false);
        }
Exemplo n.º 23
0
        async void menu_modifyServer(object sender, System.EventArgs e)
        {
            string strError;

            if (listView1.SelectedIndices.Count == 0)
            {
                strError = "尚未选择要修改的事项 ...";
                goto ERROR1;
            }

            int nActiveLine = listView1.SelectedIndices[0];
            // ListViewItem item = listView1.Items[nActiveLine];

            ServerDlg dlg = new ServerDlg();

            // GuiUtil.AutoSetDefaultFont(dlg);
            GuiUtil.SetControlFont(dlg, this.Font);

            dlg.Text = "修改缺省帐户参数";

            dlg.ServerName   = ((dp2Server)Servers[nActiveLine]).Name;
            dlg.Password     = ((dp2Server)Servers[nActiveLine]).DefaultPassword;
            dlg.ServerUrl    = ((dp2Server)Servers[nActiveLine]).Url;
            dlg.UserName     = ((dp2Server)Servers[nActiveLine]).DefaultUserName;
            dlg.SavePassword = ((dp2Server)Servers[nActiveLine]).SavePassword;

            dlg.ShowDialog(this);

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

            dp2Server server = ((dp2Server)Servers[nActiveLine]);

            server.Name            = dlg.ServerName;
            server.DefaultPassword = dlg.Password;
            server.Url             = dlg.ServerUrl;
            server.DefaultUserName = dlg.UserName;
            server.SavePassword    = dlg.SavePassword;

            // 获取 UID
            using (MessageBar bar = MessageBar.Create(this,
                                                      "获取 UID",
                                                      $"正在获取服务器 {server.Url} 的 UID ..."))
            {
                var result = await ServerDlg.GetServerUID(server.Url);

                if (result.Value == -1)
                {
                    strError = result.ErrorInfo;
                    goto ERROR1;
                }
                server.UID = result.ErrorCode;
            }

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(listView1,
                                    nActiveLine,
                                    true);

            m_bChanged = true;
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }
Exemplo n.º 24
0
        private void button_modifyInstance_Click(object sender, EventArgs e)
        {
            string strError = "";

            HideMessageTip();

            if (this.listView_instance.SelectedItems.Count == 0)
            {
                strError = "尚未选择要修改的事项";
                goto ERROR1;
            }

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

            this.m_currentEditItem = item;

            OneInstanceDialog modify_instance_dlg = new OneInstanceDialog();

            GuiUtil.AutoSetDefaultFont(modify_instance_dlg);
            modify_instance_dlg.Text       = "修改一个实例";
            modify_instance_dlg.CreateMode = false;

            modify_instance_dlg.SiteName     = ListViewUtil.GetItemText(item, COLUMN_SITE);
            modify_instance_dlg.InstanceName = ListViewUtil.GetItemText(item, COLUMN_VIRTUALDIR);

            modify_instance_dlg.DataDir  = ListViewUtil.GetItemText(item, COLUMN_DATADIR);
            modify_instance_dlg.LineInfo = (LineInfo)item.Tag;

            modify_instance_dlg.VerifyInstanceName += new VerifyEventHandler(modify_instance_dlg_VerifyInstanceName);
            modify_instance_dlg.VerifyDataDir      += new VerifyEventHandler(modify_instance_dlg_VerifyDataDir);
            modify_instance_dlg.LoadXmlFileInfo    += new LoadXmlFileInfoEventHandler(modify_instance_dlg_LoadXmlFileInfo);


            modify_instance_dlg.StartPosition = FormStartPosition.CenterScreen;
            if (modify_instance_dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            ListViewUtil.ChangeItemText(item, COLUMN_SITE, modify_instance_dlg.SiteName);
            ListViewUtil.ChangeItemText(item, COLUMN_VIRTUALDIR, modify_instance_dlg.InstanceName);
            ListViewUtil.ChangeItemText(item, COLUMN_DATADIR, modify_instance_dlg.DataDir);

            modify_instance_dlg.LineInfo.Changed = true;
            item.Tag = modify_instance_dlg.LineInfo;

            ListViewUtil.SelectLine(item, true);

            this.Changed = true;

            // TODO: 最好出现一个浮动窗口显示正在创建实例
            this.Enabled = false;
            try
            {
                int nRet = CreateInstance(item,
                                          out strError);
                if (nRet == -1)
                {
                    goto ERROR1;
                }
            }
            finally
            {
                this.Enabled = true;
            }
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }
Exemplo n.º 25
0
        private void button_newInstance_Click(object sender, EventArgs e)
        {
            HideMessageTip();

            OneInstanceDialog new_instance_dlg = new OneInstanceDialog();

            GuiUtil.AutoSetDefaultFont(new_instance_dlg);
            new_instance_dlg.Text       = "创建一个新实例";
            new_instance_dlg.CreateMode = true;
#if NO
            if (this.listView_instance.Items.Count == 0)
            {
                new_instance_dlg.InstanceName = "/dp2OPAC";
            }
            else
            {
                new_instance_dlg.InstanceName = GetNewInstanceName(this.listView_instance.Items.Count + 1);
            }
#endif

            new_instance_dlg.VerifyInstanceName += new VerifyEventHandler(new_instance_dlg_VerifyInstanceName);
            new_instance_dlg.VerifyDataDir      += new VerifyEventHandler(new_instance_dlg_VerifyDataDir);
            new_instance_dlg.LoadXmlFileInfo    += new LoadXmlFileInfoEventHandler(new_instance_dlg_LoadXmlFileInfo);

            new_instance_dlg.StartPosition = FormStartPosition.CenterScreen;
            if (new_instance_dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            ListViewItem item = new ListViewItem();
            ListViewUtil.ChangeItemText(item, COLUMN_SITE, new_instance_dlg.SiteName);
            ListViewUtil.ChangeItemText(item, COLUMN_VIRTUALDIR, new_instance_dlg.InstanceName);
            ListViewUtil.ChangeItemText(item, COLUMN_DATADIR, new_instance_dlg.DataDir);
            this.listView_instance.Items.Add(item);

            new_instance_dlg.LineInfo.Changed = true;
            item.Tag = new_instance_dlg.LineInfo;

            ListViewUtil.SelectLine(item, true);

            this.Changed = true;

            string strError = "";

            // TODO: 最好出现一个浮动窗口显示正在创建实例
            this._floatingMessage.Text = "正在创建实例,请稍候 ...";
            this.Enabled = false;
            try
            {
                int nRet = CreateInstance(item,
                                          out strError);
                if (nRet == -1)
                {
                    goto ERROR1;
                }
            }
            finally
            {
                this.Enabled = true;
                this._floatingMessage.Text = "";
            }
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }
Exemplo n.º 26
0
        void menu_newServer(object sender, System.EventArgs e)
        {
            int nActiveLine = -1;

            if (listView1.SelectedIndices.Count != 0)
            {
                nActiveLine = listView1.SelectedIndices[0];
            }

            ServerDlg dlg = new ServerDlg();

            // GuiUtil.AutoSetDefaultFont(dlg);
            GuiUtil.SetControlFont(dlg, this.Font);

            dlg.Text = "新增服务器地址和缺省帐户";

            if (nActiveLine == -1)
            {
                // 无参考事项情形的新增
                dlg.ServerName = "社科院联合编目中心";
                dlg.ServerUrl  = "http://ssucs.org/dp2library";
                dlg.UserName   = "******";
            }
            else
            {
                dlg.ServerName   = ((dp2Server)Servers[nActiveLine]).Name;
                dlg.Password     = ((dp2Server)Servers[nActiveLine]).DefaultPassword;
                dlg.ServerUrl    = ((dp2Server)Servers[nActiveLine]).Url;
                dlg.UserName     = ((dp2Server)Servers[nActiveLine]).DefaultUserName;
                dlg.SavePassword = ((dp2Server)Servers[nActiveLine]).SavePassword;
            }

            dlg.ShowDialog(this);

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

            dp2Server server = Servers.NewServer(nActiveLine);

            server.Name            = dlg.ServerName;
            server.DefaultPassword = dlg.Password;
            server.Url             = dlg.ServerUrl;
            server.DefaultUserName = dlg.UserName;
            server.SavePassword    = dlg.SavePassword;

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(listView1,
                                    Servers.Count - 1,
                                    true);

            m_bChanged = true;
        }
Exemplo n.º 27
0
        void FillBrowseList()
        {
            this.listView_browse.Items.Clear();

            List <string> recpaths = StringUtil.SplitList(this.DupBiblioRecPathList);

            LibraryChannel channel = Program.MainForm.GetChannel();

            try
            {
                // 获得书目记录
                BrowseLoader loader = new BrowseLoader();
                loader.Channel = channel;
                // loader.Stop = this.Progress;
                loader.Format   = "id,xml,cols,timestamp";
                loader.RecPaths = recpaths;

                int i = 0;
                foreach (DigitalPlatform.LibraryClient.localhost.Record biblio_item in loader)
                {
                    ListViewItem item = null;

                    if (biblio_item.RecordBody != null &&
                        biblio_item.RecordBody.Result != null &&
                        biblio_item.RecordBody.Result.ErrorCode != DigitalPlatform.LibraryClient.localhost.ErrorCodeValue.NoError)
                    {
                        item = Global.AppendNewLine(
                            this.listView_browse,
                            biblio_item.Path,
                            new string[] { biblio_item.RecordBody.Result.ErrorString });
                        item.Tag = null;
                    }
                    else
                    {
                        item = Global.AppendNewLine(
                            this.listView_browse,
                            biblio_item.Path,
                            biblio_item.Cols);
                        ItemTag tag = new ItemTag();
                        tag.RecPath   = biblio_item.Path;
                        tag.Xml       = biblio_item.RecordBody.Xml;
                        tag.Timestamp = biblio_item.RecordBody.Timestamp;
                        item.Tag      = tag;
                    }

                    i++;
                }

                if (this.listView_browse.Items.Count > 0)
                {
                    ListViewUtil.SelectLine(this.listView_browse.Items[0], true);
                }
            }
            finally
            {
                Program.MainForm.ReturnChannel(channel);
            }

            if (this.AutoSelectMode == true)
            {
                SortItems();
                if (this.listView_browse.Items.Count > 0)
                {
                    ListViewUtil.SelectLine(this.listView_browse.Items[0], true);

                    if (this.MergeStyle == dp2Circulation.MergeStyle.None)
                    {
                        // 自动选择保留目标书目记录的方式
                        this.MergeStyle = MergeStyle.ReserveTargetBiblio;
                    }

                    if ((this.MergeStyle & dp2Circulation.MergeStyle.ReserveTargetBiblio) == dp2Circulation.MergeStyle.ReserveTargetBiblio)
                    {
                        this.Action = "mergeTo";    // useTargetBiblio
                    }
                    else
                    {
                        this.Action = "mergeToUseSourceBiblio";
                    }
                    this.Close();
                }
            }
        }
Exemplo n.º 28
0
        // 新增栏目
        private void button_columns_new_Click(object sender, EventArgs e)
        {
            PrintColumnDlg dlg = new PrintColumnDlg();

            MainForm.SetControlFont(dlg, this.Font, false);

            if (this.ColumnItems != null)
            {
                dlg.ColumnItems = this.ColumnItems;
            }

            if (this.MainForm != null)
            {
                this.MainForm.AppInfo.LinkFormState(dlg, "printorderdlg_formstate");
            }
            dlg.ShowDialog(this);
            if (this.MainForm != null)
            {
                this.MainForm.AppInfo.UnlinkFormState(dlg);
            }


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

            // 名称查重
            ListViewItem dup = ListViewUtil.FindItem(this.listView_columns, dlg.ColumnName, 0);

            if (dup != null)
            {
                // 让操作者能看见已经存在的行
                ListViewUtil.SelectLine(dup, true);
                dup.EnsureVisible();

                DialogResult result = MessageBox.Show(this,
                                                      "当前已经存在名为 '" + dlg.ColumnName + "' 的栏目。继续新增?",
                                                      "PrintOptionDlg",
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Question,
                                                      MessageBoxDefaultButton.Button2);
                if (result == DialogResult.No)
                {
                    return;
                }
            }

            ListViewItem item = new ListViewItem();

#if NO
            item.Text = dlg.ColumnName;
            item.SubItems.Add(dlg.ColumnCaption);
            item.SubItems.Add(dlg.MaxChars.ToString());
#endif
            ListViewUtil.ChangeItemText(item, COLUMN_NAME, dlg.ColumnName);
            ListViewUtil.ChangeItemText(item, COLUMN_CAPTION, dlg.ColumnCaption);
            ListViewUtil.ChangeItemText(item, COLUMN_WIDTHCHARS, dlg.WidthChars.ToString());
            ListViewUtil.ChangeItemText(item, COLUMN_MAXCHARS, dlg.MaxChars.ToString());
            ListViewUtil.ChangeItemText(item, COLUMN_EVALUE, dlg.ColumnEvalue);


            this.listView_columns.Items.Add(item);

            // 让操作者能看见新插入的行
            ListViewUtil.SelectLine(item, true);
            item.EnsureVisible();

            // 新增事项后,当前已选择事项的上下移动的可能性会有所改变
            listView_columns_SelectedIndexChanged(sender, null);
        }
Exemplo n.º 29
0
        void _scanBarcodeForm_BarcodeScaned(object sender, ScanedEventArgs e)
        {
            string strError = "";
            int    nRet     = 0;

            if (string.IsNullOrEmpty(e.Barcode) == true)
            {
                Console.Beep();
                return;
            }

            // 自动切换到 登记 属性页,避免操作者看不到扫入了什么内容
            if (this.tabControl_main.SelectedTab != this.tabPage_register)
            {
                this.tabControl_main.SelectedTab = this.tabPage_register;
            }

            // 清除浮动的错误信息
            this._floatingMessage.Text = "";

            // 把册条码号直接加入行中,然后等待专门的线程来装载刷新
            // 要查重
#if NO
            ListViewItem dup = ListViewUtil.FindItem(this.listView_in, e.Barcode, COLUMN_BARCODE);
            if (dup != null)
            {
                Console.Beep();
                ListViewUtil.SelectLine(dup, true);
                MessageBox.Show(this, "您扫入的册条码号 ‘" + e.Barcode + "’ 在列表中已经存在了,请注意不要重复扫入");
                this._scanBarcodeForm.Activate();
                return;
            }

            ListViewItem item = new ListViewItem();
            ListViewUtil.ChangeItemText(item, COLUMN_BARCODE, e.Barcode);
            this.listView_in.Items.Add(item);
            ListViewUtil.SelectLine(item, true);
            item.EnsureVisible();
#endif
            string strText = e.Barcode;

            // 如果是 ISBN,则新装入一个书目记录
            // TODO: 装入前需要对整个 list 进行查重,如果前面已经有同样 ISBN 的书目,要提醒
            if (QuickChargingForm.IsISBN(ref strText) == true)
            {
#if NO
                RegisterLine line = new RegisterLine(this.entityRegisterControl1);
                line.BiblioBarcode = strText;

                this.entityRegisterControl1.InsertNewLine(0, line, true);
                line.label_color.Focus();

                this.entityRegisterControl1.SetColorList();

                this.entityRegisterControl1.AddTask(line, "search_biblio");

                // 选定刚新增的事项
                this.entityRegisterControl1.SelectItem(line, true);
                // 确保事项可见
                this.entityRegisterControl1.EnsureVisible(line);
#endif
                this.entityRegisterControl1.AddNewBiblio(strText);
            }
            else
            {
                // 当作册条码号进入
                nRet = this.entityRegisterControl1.AddNewEntity(strText,
                                                                out strError);
                if (nRet == -1)
                {
                    goto ERROR1;
                }
            }

            // this.entityRegisterControl1.ActivateThread();
            return;

ERROR1:
            MessageBox.Show(this, strError);
            this._scanBarcodeForm.Focus();
        }
Exemplo n.º 30
0
        async void menu_newServer(object sender, System.EventArgs e)
        {
            List <string> errors = new List <string>();

            int nActiveLine = -1;

            if (listView1.SelectedIndices.Count != 0)
            {
                nActiveLine = listView1.SelectedIndices[0];
            }

            ServerDlg dlg = new ServerDlg();

            // GuiUtil.AutoSetDefaultFont(dlg);
            GuiUtil.SetControlFont(dlg, this.Font);

            dlg.Text = "新增服务器地址和默认帐户";

            if (nActiveLine == -1)
            {
                // 无参考事项情形的新增
#if NO
                dlg.ServerName = "社科院联合编目中心";
                dlg.ServerUrl  = "http://ssucs.org/dp2library";
                dlg.UserName   = "******";
#endif
                dlg.ServerName = "单机版服务器";
                dlg.ServerUrl  = "net.pipe://localhost/dp2library/xe";
                dlg.UserName   = "******";
            }
            else
            {
                dp2Server server = (dp2Server)Servers[nActiveLine];
                dlg.ServerName   = server.Name;
                dlg.Password     = server.DefaultPassword;
                dlg.ServerUrl    = server.Url;
                dlg.UserName     = server.DefaultUserName;
                dlg.SavePassword = server.SavePassword;
            }

            dlg.ShowDialog(this);

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

            List <string> urls = new List <string>();
            if (dlg.ServerUrl.IndexOf("\r\n") == -1)
            {
                urls.Add(dlg.ServerUrl);
            }
            else
            {
                urls = StringUtil.SplitList(dlg.ServerUrl.Replace("\r\n", "\r"), '\r');
                StringUtil.RemoveBlank(ref urls);
                StringUtil.RemoveDupNoSort(ref urls);
            }

            using (MessageBar bar = MessageBar.Create(this, "正在添加服务器节点"))
            {
                // 允许一次创建多个服务器节点
                int i = 0;
                foreach (string url in urls)
                {
                    // 获得服务器 UID
                    string uid = "";
                    bar.SetMessageText($"正在获取服务器 {url} 的 UID ...");
                    var result = await ServerDlg.GetServerUID(url);

                    if (result.Value == -1)
                    {
                        errors.Add($"针对服务器 {url} 获取服务器 UID 时出错: {result.ErrorInfo}");
                    }
                    else
                    {
                        uid = result.ErrorCode;
                    }

                    // 对 UID 进行查重
                    if (string.IsNullOrEmpty(uid) == false)
                    {
                        var dup_list = Servers.FindServerByUID(uid);
                        if (dup_list.Count > 0)
                        {
                            errors.Add($"拟添加的新服务器节点 '{url}' 因其 UID '{uid}' 和已有的服务器节点({dup_list[0].Name})重复,无法添加");
                            continue;
                        }
                    }

                    dp2Server server = Servers.NewServer(nActiveLine);
                    // TODO: 建议用 public 账户尝试从 dp2library 服务器获得服务器名字符串
                    string name = dlg.ServerName;
                    if (i > 0)
                    {
                        name = dlg.ServerName + (i + 1).ToString();
                    }
                    server.Name            = name;
                    server.DefaultPassword = dlg.Password;
                    server.Url             = url;
                    server.DefaultUserName = dlg.UserName;
                    server.SavePassword    = dlg.SavePassword;
                    server.UID             = uid;

                    i++;
                }
            }

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(listView1,
                                    Servers.Count - 1,
                                    true);
            listView1.EnsureVisible(Servers.Count - 1);

            m_bChanged = true;

            if (errors.Count > 0)
            {
                MessageDlg.Show(this, $"新增服务器节点时出错:\r\n{StringUtil.MakePathList(errors, "\r\n")}", "ServersDlg");
            }
        }