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; }
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); } }
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); }
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); }
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); }
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); } } }
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); }
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); }
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; }
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; }
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; }
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); }
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); }
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(); }); }
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); }
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; }
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); } }
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); }
// 新增一个事项 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; }
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); }
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); }
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); }
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); }
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); }
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); }
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; }
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(); } } }
// 新增栏目 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); }
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(); }
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"); } }