private void btnShowItemInfo_Click(object sender, EventArgs e) { // отображение информации об элементе DataGridViewSelectedRowCollection selRows = dgvItems.SelectedRows; if (selRows.Count == 1 || dgvItems.CurrentRow != null) { int curInd = selRows.Count > 0 ? selRows[0].Index : dgvItems.CurrentRow.Index; FrmItemInfo.Show(items[curInd], tblInCnl, tblCtrlCnl, tblObj, tblKP); dgvItems.Select(); } }
/// <summary> /// Отобразить форму настроек приложения /// </summary> public static void Show(TableView.Item item, DataTable tblInCnl, DataTable tblCtrlCnl, DataTable tblObj, DataTable tblKP) { if (item == null) throw new ArgumentNullException("item"); if (tblInCnl == null) throw new ArgumentNullException("tblInCnl"); if (tblCtrlCnl == null) throw new ArgumentNullException("tblCtrlCnl"); if (tblObj == null) throw new ArgumentNullException("tblObj"); if (tblKP == null) throw new ArgumentNullException("tblKP"); // создание и перевод формы FrmItemInfo frmItemInfo = new FrmItemInfo(); Localization.TranslateForm(frmItemInfo, "ScadaTableEditor.FrmItemInfo"); // получение информации о входном канале if (item.CnlNum > 0) { string cnlNumStr = item.CnlNum.ToString(); frmItemInfo.txtInCnlNum.Text = cnlNumStr; try { DataView view = new DataView(tblInCnl); view.RowFilter = "CnlNum = " + cnlNumStr; if (view.Count > 0) { DataRowView rowView = view[0]; frmItemInfo.txtInCnlName.Text = (string)rowView["Name"]; int objNum = (int)rowView["ObjNum"]; if (objNum > 0) { frmItemInfo.txtInCnlObjNum.Text = objNum.ToString(); frmItemInfo.txtInCnlObjName.Text = GetObjName(objNum, tblObj); } int kpNum = (int)rowView["KPNum"]; if (kpNum > 0) { frmItemInfo.txtInCnlKPNum.Text = kpNum.ToString(); frmItemInfo.txtInCnlKPName.Text = GetKPName(kpNum, tblKP); } } } catch (Exception ex) { ScadaUtils.ShowError(AppPhrases.GetInCnlError + ":\n" + ex.Message); } } // получение информации о канале управления if (item.CtrlCnlNum > 0) { string ctrlCnlNumStr = item.CtrlCnlNum.ToString(); frmItemInfo.txtCtrlCnlNum.Text = ctrlCnlNumStr; try { DataView view = new DataView(tblCtrlCnl); view.RowFilter = "CtrlCnlNum = " + ctrlCnlNumStr; if (view.Count > 0) { DataRowView rowView = view[0]; frmItemInfo.txtCtrlCnlName.Text = (string)rowView["Name"]; int objNum = (int)rowView["ObjNum"]; if (objNum > 0) { frmItemInfo.txtCtrlCnlObjNum.Text = objNum.ToString(); frmItemInfo.txtCtrlCnlObjName.Text = GetObjName(objNum, tblObj); } int kpNum = (int)rowView["KPNum"]; if (kpNum > 0) { frmItemInfo.txtCtrlCnlKPNum.Text = kpNum.ToString(); frmItemInfo.txtCtrlCnlKPName.Text = GetKPName(kpNum, tblKP); } } } catch (Exception ex) { ScadaUtils.ShowError(AppPhrases.GetCtrlCnlError + ":\n" + ex.Message); } } // отображение формы frmItemInfo.ShowDialog(); }
/// <summary> /// Отобразить форму настроек приложения /// </summary> public static void Show(TableView.Item item, DataTable tblInCnl, DataTable tblCtrlCnl, DataTable tblObj, DataTable tblKP) { if (item == null) { throw new ArgumentNullException("item"); } if (tblInCnl == null) { throw new ArgumentNullException("tblInCnl"); } if (tblCtrlCnl == null) { throw new ArgumentNullException("tblCtrlCnl"); } if (tblObj == null) { throw new ArgumentNullException("tblObj"); } if (tblKP == null) { throw new ArgumentNullException("tblKP"); } // создание и перевод формы FrmItemInfo frmItemInfo = new FrmItemInfo(); Localization.TranslateForm(frmItemInfo, "ScadaTableEditor.FrmItemInfo"); // получение информации о входном канале if (item.CnlNum > 0) { string cnlNumStr = item.CnlNum.ToString(); frmItemInfo.txtInCnlNum.Text = cnlNumStr; try { DataView view = new DataView(tblInCnl); view.RowFilter = "CnlNum = " + cnlNumStr; if (view.Count > 0) { DataRowView rowView = view[0]; frmItemInfo.txtInCnlName.Text = (string)rowView["Name"]; int objNum = (int)rowView["ObjNum"]; if (objNum > 0) { frmItemInfo.txtInCnlObjNum.Text = objNum.ToString(); frmItemInfo.txtInCnlObjName.Text = GetObjName(objNum, tblObj); } int kpNum = (int)rowView["KPNum"]; if (kpNum > 0) { frmItemInfo.txtInCnlKPNum.Text = kpNum.ToString(); frmItemInfo.txtInCnlKPName.Text = GetKPName(kpNum, tblKP); } } } catch (Exception ex) { ScadaUtils.ShowError(AppPhrases.GetInCnlError + ":\n" + ex.Message); } } // получение информации о канале управления if (item.CtrlCnlNum > 0) { string ctrlCnlNumStr = item.CtrlCnlNum.ToString(); frmItemInfo.txtCtrlCnlNum.Text = ctrlCnlNumStr; try { DataView view = new DataView(tblCtrlCnl); view.RowFilter = "CtrlCnlNum = " + ctrlCnlNumStr; if (view.Count > 0) { DataRowView rowView = view[0]; frmItemInfo.txtCtrlCnlName.Text = (string)rowView["Name"]; int objNum = (int)rowView["ObjNum"]; if (objNum > 0) { frmItemInfo.txtCtrlCnlObjNum.Text = objNum.ToString(); frmItemInfo.txtCtrlCnlObjName.Text = GetObjName(objNum, tblObj); } int kpNum = (int)rowView["KPNum"]; if (kpNum > 0) { frmItemInfo.txtCtrlCnlKPNum.Text = kpNum.ToString(); frmItemInfo.txtCtrlCnlKPName.Text = GetKPName(kpNum, tblKP); } } } catch (Exception ex) { ScadaUtils.ShowError(AppPhrases.GetCtrlCnlError + ":\n" + ex.Message); } } // отображение формы frmItemInfo.ShowDialog(); }