static void SetLine(ListViewItem item, RequestItem request) { // testing // request.State = null; string action_info = ""; if (request.Action == "borrow") { var borrow_info = request.GetBorrowInfo(); if (borrow_info != null) { string returning_date = ""; if (string.IsNullOrEmpty(borrow_info.LatestReturnTime) == false) { if (DateTimeUtil.TryParseRfc1123DateTimeString(borrow_info.LatestReturnTime, out DateTime time) == true) { returning_date = time.ToString(); } else { returning_date = $"时间字符串 '{borrow_info.LatestReturnTime}' 格式错误"; } } action_info = $"应还时间: {returning_date}"; } } else { var return_info = request.GetReturnInfo(); if (return_info != null && string.IsNullOrEmpty(return_info.OverdueString) == false) { action_info = $"超期情况: {return_info.OverdueString}"; } } ListViewUtil.ChangeItemText(item, COLUMN_ID, request.ID.ToString()); ListViewUtil.ChangeItemText(item, COLUMN_PII, request.PII); ListViewUtil.ChangeItemText(item, COLUMN_BOOKTITLE, request.Entity?.Title); ListViewUtil.ChangeItemText(item, COLUMN_ACTION, request.Action); ListViewUtil.ChangeItemText(item, COLUMN_OPERATOR, request.OperatorID); ListViewUtil.ChangeItemText(item, COLUMN_NAME, request.Operator?.PatronName); ListViewUtil.ChangeItemText(item, COLUMN_OPERTIME, request.OperTime.ToString()); ListViewUtil.ChangeItemText(item, COLUMN_STATE, request.State); ListViewUtil.ChangeItemText(item, COLUMN_ERRORCODE, request.SyncErrorCode); ListViewUtil.ChangeItemText(item, COLUMN_ERRORINFO, request.SyncErrorInfo); ListViewUtil.ChangeItemText(item, COLUMN_SYNCCOUNT, request.SyncCount.ToString()); ListViewUtil.ChangeItemText(item, COLUMN_SYNCOPERTIME, request.SyncOperTime.ToString()); ListViewUtil.ChangeItemText(item, COLUMN_ACTIONINFO, action_info); ListViewUtil.ChangeItemText(item, COLUMN_LINKID, request.LinkID); ListViewUtil.ChangeItemText(item, COLUMN_BATCHNO, request.BatchNo); ListViewUtil.ChangeItemText(item, COLUMN_TOSHELFNO, request.CurrentShelfNo); ListViewUtil.ChangeItemText(item, COLUMN_TOLOCATION, request.Location); ListViewUtil.ChangeItemText(item, COLUMN_TRANSFERDIRECTION, request.TransferDirection); item.Tag = request; SetLineColor(item, request); }
// 修改一个检索点事项 private void button_modifyAccessPoint_Click(object sender, EventArgs e) { if (this.listView_accessPoints.SelectedItems.Count == 0) { MessageBox.Show(this, "尚未选择要修改的检索点事项"); return; } ListViewItem item = this.listView_accessPoints.SelectedItems[0]; AccessPointDialog dlg = new AccessPointDialog(); MainForm.SetControlFont(dlg, this.Font, false); dlg.DbFromInfos = this.DbFromInfos; dlg.FromName = item.Text; dlg.Weight = ListViewUtil.GetItemText(item, 1); dlg.SearchStyle = ListViewUtil.GetItemText(item, 2); dlg.StartPosition = FormStartPosition.CenterScreen; dlg.ShowDialog(this); if (dlg.DialogResult != DialogResult.OK) { return; } item.Text = dlg.FromName; ListViewUtil.ChangeItemText(item, 1, dlg.Weight); ListViewUtil.ChangeItemText(item, 2, dlg.SearchStyle); this.AccessPointsChanged = true; }
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); }
// 修改名字和注释 void menu_Modify(object sender, System.EventArgs e) { if (listView1.SelectedItems.Count == 0) { MessageBox.Show(this, "尚未选择拟修改的模板记录事项..."); return; } TemplateRecordDialog dlg = new TemplateRecordDialog(); // string strOldName = ListViewUtil.GetItemText(listView1.SelectedItems[0], 0); dlg.TemplateName = ListViewUtil.GetItemText(listView1.SelectedItems[0], 0); dlg.TemplateComment = ListViewUtil.GetItemText(listView1.SelectedItems[0], 1); dlg.ShowDialog(this); if (dlg.DialogResult != DialogResult.OK) { return; } ListViewUtil.ChangeItemText(this.listView1.SelectedItems[0], 0, dlg.TemplateName); ListViewUtil.ChangeItemText(this.listView1.SelectedItems[0], 1, dlg.TemplateComment); this.Changed = true; }
// 勾选值事项。本函数须要在BuildList()后调用 // 本函数能自动添加strValue中具备、但是ListView中尚未存在的事项行 void SetValue(string strValue) { // 清除先前的全部checked状态 for (int i = 0; i < this.listView1.Items.Count; i++) { ListViewItem item = this.listView1.Items[i]; if (item.Checked == true) { item.Checked = false; } item.Tag = null; // 清除原来残留的序号 } this.m_nIndex = 0; // 序号 string[] parts = strValue.Split(new char[] { ',' }); for (int i = 0; i < parts.Length; i++) { string strLine = parts[i].Trim(); if (String.IsNullOrEmpty(strLine) == true) { continue; } // 根据\t分为若干部分 string[] columns = strLine.Split(new char[] { '\t' }); if (columns.Length == 0) { continue; } // 只用第一部分来进行匹配勾选 string strFirstColumn = columns[0].Trim(); ListViewItem item = ListViewUtil.FindItem( this.listView1, strFirstColumn, 0); // 如果事项居然不存在 if (item == null) { item = new ListViewItem(); for (int j = 0; j < columns.Length; j++) { ListViewUtil.ChangeItemText(item, j, columns[j].Trim()); } this.listView1.Items.Add(item); } item.Checked = true; // 保留原始序号 ItemInfo iteminfo = new ItemInfo(); iteminfo.Index = this.m_nIndex++; iteminfo.OldItem = true; item.Tag = iteminfo; } }
/// <summary> /// 装载报表列表 /// </summary> /// <param name="nodeLibrary"></param> public void LoadReportList(XmlNode nodeLibrary) { this.listView_reports.Items.Clear(); if (nodeLibrary == null) { return; } XmlNodeList nodes = nodeLibrary.SelectNodes("reports/report"); if (nodes.Count > 0) { foreach (XmlNode node in nodes) { string strName = DomUtil.GetAttr(node, "name"); string strFreq = DomUtil.GetAttr(node, "frequency"); string strType = DomUtil.GetAttr(node, "type"); //string strCfgFile = DomUtil.GetAttr(node, "cfgFile"); //string strNameTable = DomUtil.GetAttr(node, "nameTable"); ListViewItem item = new ListViewItem(); ListViewUtil.ChangeItemText(item, COLUMN_REPORT_NAME, strName); ListViewUtil.ChangeItemText(item, COLUMN_REPORT_FREQ, strFreq); ListViewUtil.ChangeItemText(item, COLUMN_REPORT_TYPE, strType); this.listView_reports.Items.Add(item); } } }
// parameters: // strAction add/remove 之一 int ChangeRights(string strAction, out string strError) { strError = ""; foreach (ListViewItem item in this.listView1.CheckedItems) { UserInfo user = item.Tag as UserInfo; string strNewRights = user.Rights; StringUtil.SetInList(ref strNewRights, _weixinRights, strAction == "add"); if (strNewRights == user.Rights) { continue; // 没有变化 } user.Rights = strNewRights; long lRet = this.Channel.SetUser("change", user, out strError); if (lRet == -1) { return(-1); } ListViewUtil.ChangeItemText(item, 1, GetWeixinRights(user.Rights)); } return(0); }
void FillColumns(ListViewItem item, List <DigitalPlatform.Marc.NameValueLine> results) { string title = ""; string author = ""; string publisher = ""; foreach (var line in results) { if (line.Type == "title") { title = line.Value; } if (line.Type == "author") { author = line.Value; } if (line.Type == "publication_area") { publisher = line.Value; } } ListViewUtil.ChangeItemText(item, 1, title); ListViewUtil.ChangeItemText(item, 2, author); ListViewUtil.ChangeItemText(item, 3, publisher); }
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); } } }
public void FillList(ListView list) { list.Items.Clear(); if (this.CfgDom == null || this.CfgDom.DocumentElement == null) { return; } XmlNodeList nodes = this.CfgDom.DocumentElement.SelectNodes("library"); foreach (XmlNode node in nodes) { string strCode = DomUtil.GetAttr(node, "code"); strCode = ReportForm.GetDisplayLibraryCode(strCode); ListViewItem item = new ListViewItem(); ListViewUtil.ChangeItemText(item, 0, strCode); list.Items.Add(item); } if (list.Items.Count > 0) { list.Items[0].Selected = true; } }
private void button_groupContents_modify_Click(object sender, EventArgs e) { if (this.listView_groupContents_lines.SelectedItems.Count == 0) { MessageBox.Show(this, "尚未选定要修改的事项"); return; } CellLineDialog dlg = new CellLineDialog(); MainForm.SetControlFont(dlg, this.Font, false); dlg.FillGroupFieldNameTable(); dlg.FieldName = this.listView_groupContents_lines.SelectedItems[0].Text; dlg.Caption = this.listView_groupContents_lines.SelectedItems[0].SubItems[1].Text; dlg.StartPosition = FormStartPosition.CenterScreen; dlg.ShowDialog(this); if (dlg.DialogResult != DialogResult.OK) { return; } ListViewItem item = this.listView_groupContents_lines.SelectedItems[0]; item.Text = dlg.FieldName; ListViewUtil.ChangeItemText(item, 1, dlg.Caption); this.m_bGroupContentsChanged = true; }
private void PrintOptionDlg_Load(object sender, EventArgs e) { this.textBox_pageHeader.Text = PrintOption.PageHeader; this.textBox_pageFooter.Text = PrintOption.PageFooter; this.textBox_tableTitle.Text = PrintOption.TableTitle; this.textBox_linesPerPage.Text = PrintOption.LinesPerPage.ToString(); // this.textBox_maxSummaryChars.Text = PrintOption.MaxSummaryChars.ToString(); this.listView_columns.Items.Clear(); for (int i = 0; i < PrintOption.Columns.Count; i++) { ListViewItem item = new ListViewItem(); #if NO item.Text = PrintOption.Columns[i].Name; item.SubItems.Add(PrintOption.Columns[i].Caption); item.SubItems.Add(PrintOption.Columns[i].MaxChars.ToString()); #endif ListViewUtil.ChangeItemText(item, COLUMN_NAME, PrintOption.Columns[i].Name); ListViewUtil.ChangeItemText(item, COLUMN_CAPTION, PrintOption.Columns[i].Caption); ListViewUtil.ChangeItemText(item, COLUMN_WIDTHCHARS, PrintOption.Columns[i].WidthChars.ToString()); ListViewUtil.ChangeItemText(item, COLUMN_MAXCHARS, PrintOption.Columns[i].MaxChars.ToString()); ListViewUtil.ChangeItemText(item, COLUMN_EVALUE, PrintOption.Columns[i].Evalue); this.listView_columns.Items.Add(item); } LoadTemplates(); }
// 根据逗号分割的值列表先建立未勾选的全部列表事项 void BuildList(string strValue) { this.listView1.Items.Clear(); string[] parts = strValue.Split(new char[] { ',' }); for (int i = 0; i < parts.Length; i++) { string strLine = parts[i].Trim(); if (String.IsNullOrEmpty(strLine) == true) { continue; } ListViewItem item = new ListViewItem(); // 根据\t分为若干部分 string[] columns = strLine.Split(new char[] { '\t' }); for (int j = 0; j < columns.Length; j++) { ListViewUtil.ChangeItemText(item, j, columns[j].Trim()); } this.listView1.Items.Add(item); } }
// parameters: // refrsh_item 如果为空,表示要刷新全部 ListViewItem。否则只刷新这一个 ListViewItem void RefreshInstanceName(ListViewItem refresh_item = null) { int i = 0; foreach (ListViewItem item in this.listView_instance.Items) { if (refresh_item != null && item != refresh_item) { continue; } string data_dir = ListViewUtil.GetItemText(item, COLUMN_DATADIR); string instance_name = Path.GetFileName(data_dir); // 从配置文件中得到 instanceName 配置 string strFileName = Path.Combine(data_dir, "capo.xml"); string temp = InstanceDialog.GetInstanceName(strFileName); if (temp != null) { instance_name = temp; } ListViewUtil.ChangeItemText(item, COLUMN_NAME, instance_name); i++; } }
// parameters: void FillServers(XmlNodeList servers) { foreach (XmlElement server in servers) { string name = server.GetAttribute("name"); string enabled = server.GetAttribute("enabled"); ListViewItem item = new ListViewItem(); if (server.OwnerDocument != _dom) { // 对 server name 进行查重 if (SearchDup(ref name, null) == true) { server.SetAttribute("name", name); } XmlElement new_server = _dom.CreateElement("server"); _dom.DocumentElement.AppendChild(new_server); DomUtil.SetElementOuterXml(new_server, server.OuterXml); item.Tag = new_server; } else { item.Tag = server; } ListViewUtil.ChangeItemText(item, COLUMN_NAME, name); ListViewUtil.ChangeItemText(item, COLUMN_DATABASE, ZServerUtil.GetDatabaseList(server)); ListViewUtil.ChangeItemText(item, COLUMN_ENABLED, IsEnabled(enabled, true) ? "是" : "否"); SetItemColor(item); this.listView1.Items.Add(item); } }
void FillList() { listView1.Items.Clear(); if (Servers == null) { return; } for (int i = 0; i < Servers.Count; i++) { dp2Server server = (dp2Server)Servers[i]; ListViewItem item = new ListViewItem(server.Name, 0); listView1.Items.Add(item); // item.Tag = server; ListViewUtil.ChangeItemText(item, COLUMN_URL, server.Url); ListViewUtil.ChangeItemText(item, COLUMN_USERNAME, server.DefaultUserName); ListViewUtil.ChangeItemText(item, COLUMN_SAVEPASSWORD, server.SavePassword == true ? "是" : "否"); ListViewUtil.ChangeItemText(item, COLUMN_UID, server.UID); ListViewUtil.ChangeItemText(item, COLUMN_LINENO, (i + 1).ToString()); //item.SubItems.Add(server.Url); //item.SubItems.Add(server.DefaultUserName); //item.SubItems.Add(server.SavePassword == true ? "是" : "否"); } }
int ListTasks(out string strError) { strError = ""; this.listView_tasks.Items.Clear(); TaskInfo [] results = null; int nRet = this.Channel.DoBatchTask("", "getinfo", null, out results, out strError); if (nRet == -1) { return(-1); } foreach (TaskInfo info in results) { ListViewItem item = new ListViewItem(); item.Text = info.Name; ListViewUtil.ChangeItemText(item, 1, info.ID); ListViewUtil.ChangeItemText(item, 2, info.State); this.listView_tasks.Items.Add(item); } return(0); }
void CreateServer(string server_xml) { XmlElement server = _dom.CreateElement("server"); _dom.DocumentElement.AppendChild(server); server = DomUtil.SetElementOuterXml(server, server_xml); { // 对 server name 进行查重 string name = server.GetAttribute("name"); if (SearchDup(ref name, null) == true) { server.SetAttribute("name", name); } { ListViewItem item = new ListViewItem(); item.Tag = server; ListViewUtil.ChangeItemText(item, COLUMN_NAME, name); ListViewUtil.ChangeItemText(item, COLUMN_DATABASE, ZServerUtil.GetDatabaseList(server)); ListViewUtil.ChangeItemText(item, COLUMN_ENABLED, "是"); SetItemColor(item); this.listView1.Items.Add(item); } this.Changed = true; } }
private void button_modifyInstance_Click(object sender, EventArgs e) { string strError = ""; if (this.listView_instance.SelectedItems.Count == 0) { strError = "尚未选择要修改的实例"; goto ERROR1; } ListViewItem item = this.listView_instance.SelectedItems[0]; InstanceDialog dlg = new InstanceDialog(); FontUtil.AutoSetDefaultFont(dlg); dlg.InstanceName = ListViewUtil.GetItemText(item, COLUMN_NAME); dlg.DataDir = ListViewUtil.GetItemText(item, COLUMN_DATADIR); dlg.StartPosition = FormStartPosition.CenterScreen; dlg.ShowDialog(this); if (dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel) { return; } ListViewUtil.ChangeItemText(item, COLUMN_DATADIR, dlg.DataDir); return; ERROR1: MessageBox.Show(this, strError); }
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 GetTagInfo(ListViewItem item) { ItemInfo item_info = (ItemInfo)item.Tag; OneTag tag = item_info.OneTag; RfidChannel channel = StartRfidChannel( Program.MainForm.RfidCenterUrl, out string strError); if (channel == null) { strError = "StartRfidChannel() error"; goto ERROR1; } try { GetTagInfoResult result = channel.Object.GetTagInfo("*", tag.UID); if (result.Value == -1) { strError = result.ErrorInfo; goto ERROR1; } tag.TagInfo = result.TagInfo; string hex_string = Element.GetHexString(result.TagInfo.Bytes, "4"); item_info.LogicChipItem = LogicChipItem.FromTagInfo(result.TagInfo); item_info.LogicChipItem.PropertyChanged += LogicChipItem_PropertyChanged; this.Invoke((Action)(() => { string pii = item_info.LogicChipItem.PrimaryItemIdentifier; // .FindElement(ElementOID.PII)?.Text; ListViewUtil.ChangeItemText(item, COLUMN_PII, pii); if (this.SelectedPII != null && pii == this.SelectedPII) { item.Font = new Font(item.Font, FontStyle.Bold); } })); return; } catch (Exception ex) { strError = "ListTags() 出现异常: " + ex.Message; goto ERROR1; } finally { EndRfidChannel(channel); } ERROR1: this.Invoke((Action)(() => { ListViewUtil.ChangeItemText(item, COLUMN_PII, "error:" + strError); // 把 item 修改为红色背景,表示出错的状态 SetItemColor(item, "error"); })); }
async Task ClearTagContent(ListViewItem item) { RfidChannel channel = StartRfidChannel( Program.MainForm.RfidCenterUrl, out string strError); if (channel == null) { strError = "StartRfidChannel() error"; goto ERROR1; } try { ItemInfo item_info = (ItemInfo)item.Tag; var old_tag_info = item_info.OneTag.TagInfo; var new_tag_info = old_tag_info.Clone(); // 制造一套空内容 { new_tag_info.AFI = 0; new_tag_info.DSFID = 0; new_tag_info.EAS = false; List <byte> bytes = new List <byte>(); for (int i = 0; i < new_tag_info.BlockSize * new_tag_info.MaxBlockCount; i++) { bytes.Add(0); } new_tag_info.Bytes = bytes.ToArray(); new_tag_info.LockStatus = ""; } var result = channel.Object.WriteTagInfo(item_info.OneTag.ReaderName, old_tag_info, new_tag_info); if (result.Value == -1) { strError = result.ErrorInfo; goto ERROR1; } await Task.Run(() => { GetTagInfo(item); }); return; } catch (Exception ex) { strError = "ClearTagContent() 出现异常: " + ex.Message; goto ERROR1; } finally { EndRfidChannel(channel); } ERROR1: this.Invoke((Action)(() => { ListViewUtil.ChangeItemText(item, COLUMN_PII, "error:" + strError); // 把 item 修改为红色背景,表示出错的状态 SetItemColor(item, "error"); })); }
// 在 listview 中列出所有中心服务器 int ListCenter(out string strError) { strError = ""; this.listView_center.Items.Clear(); string strOutputInfo = ""; int nRet = GetCenterInfo(out strOutputInfo, out strError); if (nRet == -1) { return(-1); } this.CenterInfoXml = strOutputInfo; if (string.IsNullOrEmpty(this.CenterInfoXml) == true) { return(0); } XmlDocument dom = new XmlDocument(); try { dom.LoadXml(strOutputInfo); } catch (Exception ex) { strError = "XML 装入 DOM 时出错: " + ex.Message; return(-1); } XmlNodeList nodes = dom.DocumentElement.SelectNodes("server"); for (int i = 0; i < nodes.Count; i++) { XmlNode node = nodes[i]; string strName = DomUtil.GetAttr(node, "name"); string strUrl = DomUtil.GetAttr(node, "url"); string strUserName = DomUtil.GetAttr(node, "username"); string strRefID = DomUtil.GetAttr(node, "refid"); string strPassword = DomUtil.GetAttr(node, "password"); ListViewItem item = new ListViewItem(strName, 0); ListViewUtil.ChangeItemText(item, 1, strUrl); ListViewUtil.ChangeItemText(item, 2, strUserName); ListViewUtil.ChangeItemText(item, 3, strRefID); // item.Tag = node.OuterXml; // 记载XML定义片断 item.Tag = strPassword; this.listView_center.Items.Add(item); } listView_center_SelectedIndexChanged(this, null); return(0); }
// 修改 ListViewItem 的 PII 列文字 static void SetItemPIIColumn(ListViewItem item, string pii) { if (string.IsNullOrEmpty(pii)) { pii = "(空白)"; } ListViewUtil.ChangeItemText(item, COLUMN_PII, pii); SetItemColor(item, "normal"); }
void AddItem(Account account) { ListViewItem item = new ListViewItem(); ListViewUtil.ChangeItemText(item, COLUMN_SERVERURL, account.ServerUrl); ListViewUtil.ChangeItemText(item, COLUMN_USERNAME, account.UserName); item.Tag = account; this.listView_accounts.Items.Add(item); }
async Task <bool> SaveTagContent(ListViewItem item) { ItemInfo item_info = (ItemInfo)item.Tag; if (item_info.LogicChipItem.Changed == false) { return(false); } RfidChannel channel = StartRfidChannel( Program.MainForm.RfidCenterUrl, out string strError); if (channel == null) { strError = "StartRfidChannel() error"; goto ERROR1; } try { var old_tag_info = item_info.OneTag.TagInfo; var new_tag_info = BuildNewTagInfo( old_tag_info, item_info.LogicChipItem); var result = channel.Object.WriteTagInfo(item_info.OneTag.ReaderName, old_tag_info, new_tag_info); if (result.Value == -1) { strError = result.ErrorInfo; goto ERROR1; } await Task.Run(() => { GetTagInfo(item); }); UpdateChanged(item_info.LogicChipItem); return(true); } catch (Exception ex) { strError = "SaveTagContent() 出现异常: " + ex.Message; goto ERROR1; } finally { EndRfidChannel(channel); } ERROR1: this.Invoke((Action)(() => { ListViewUtil.ChangeItemText(item, COLUMN_PII, "error:" + strError); // 把 item 修改为红色背景,表示出错的状态 SetItemColor(item, "error"); })); return(false); }
void FillInstance(string strDataDir) { this.listView_instance.Items.Clear(); #if NO // 如果目录不存在,则不用填充 DirectoryInfo root = new DirectoryInfo(strDataDir); if (root.Exists == false) { return; } var dis = root.GetDirectories(); int i = 0; foreach (DirectoryInfo di in dis) { // string strXmlFileName = Path.Combine(di.FullName, "capo.xml"); ListViewItem item = new ListViewItem((i + 1).ToString()); ListViewUtil.ChangeItemText(item, COLUMN_DATADIR, di.FullName); this.listView_instance.Items.Add(item); i++; } #endif int nErrorCount = 0; List <string> data_dirs = GetInstanceDataDir(strDataDir); int i = 0; foreach (string data_dir in data_dirs) { string strFileName = Path.Combine(data_dir, "capo.xml"); LineInfo info = new LineInfo(); info.Build(strFileName); string instance_name = Path.GetFileName(data_dir); ListViewItem item = new ListViewItem(instance_name); ListViewUtil.ChangeItemText(item, COLUMN_DATADIR, data_dir); ListViewUtil.ChangeItemText(item, COLUMN_DP2LIBRARY_URL, info.dp2Library_url); ListViewUtil.ChangeItemText(item, COLUMN_DP2MSERVER_URL, info.dp2MServer_url); this.listView_instance.Items.Add(item); i++; } RefreshInstanceName(); if (nErrorCount > 0) { this.listView_instance.Columns[COLUMN_ERRORINFO].Width = 200; } else { this.listView_instance.Columns[COLUMN_ERRORINFO].Width = 0; } }
void SetItemText(ListViewItem item, int column, string strText) { if (this.listView_list.InvokeRequired) { this.listView_list.BeginInvoke(new Action <ListViewItem, int, string>(SetItemText), item, column, strText); return; } ListViewUtil.ChangeItemText(item, column, strText); }
void RefreshInstanceName() { int i = 0; foreach (ListViewItem item in this.listView_instance.Items) { ListViewUtil.ChangeItemText(item, COLUMN_NAME, (i + 1).ToString()); i++; } }
// 填充一行的信息 int FillLine( ListViewItem item, out string strError) { strError = ""; Debug.Assert(item.Tag != null, ""); ItemInfo info = (ItemInfo)item.Tag; string strRecPath = info.RecPath; string strPatronXml = info.PatronXml; string strBiblioHtml = info.PatronHtml; XmlDocument dom = new XmlDocument(); try { dom.LoadXml(strPatronXml); } catch (Exception ex) { strError = "XML装入DOM失败: " + ex.Message; return(-1); } string strBarcode = DomUtil.GetElementText(dom.DocumentElement, "barcode"); string strState = DomUtil.GetElementText(dom.DocumentElement, "state"); string strName = DomUtil.GetElementText(dom.DocumentElement, "name"); string strGender = DomUtil.GetElementText(dom.DocumentElement, "gender"); string strDepartment = DomUtil.GetElementText(dom.DocumentElement, "department"); string strIdCardNumber = DomUtil.GetElementText(dom.DocumentElement, "idCardNumber"); string strComment = DomUtil.GetElementText(dom.DocumentElement, "comment"); ListViewUtil.ChangeItemText(item, COLUMN_BARCODE, strBarcode); // item.SubItems.Add(strBarcode); ListViewUtil.ChangeItemText(item, COLUMN_STATE, strState); ListViewUtil.ChangeItemText(item, COLUMN_NAME, strName); ListViewUtil.ChangeItemText(item, COLUMN_GENDER, strGender); ListViewUtil.ChangeItemText(item, COLUMN_DEPARTMENT, strDepartment); ListViewUtil.ChangeItemText(item, COLUMN_IDCARDNUMBER, strIdCardNumber); ListViewUtil.ChangeItemText(item, COLUMN_COMMENT, strComment); ListViewUtil.ChangeItemText(item, COLUMN_RECPATH, strRecPath); // item.BackColor = SystemColors.Window; return(0); }