/// <summary> /// Заполнить таблицу КП /// </summary> private void FillKPGrid() { try { DataTable tblObj = Tables.GetObjTable(); tblObj.Rows.Add(DBNull.Value, AppPhrases.UndefinedItem); DataGridViewComboBoxColumn colObjNum = (DataGridViewComboBoxColumn)gvKPSel.Columns["colObjNum"]; colObjNum.DataSource = tblObj; colObjNum.DisplayMember = "Name"; colObjNum.ValueMember = "ObjNum"; DataTable tblKP = Tables.GetKPTable(); DataTable tblKPType = Tables.GetKPTypeTable(); foreach (DataRow rowKP in tblKP.Rows) { KPParams kpParams = new KPParams(); kpParams.KPNum = (int)rowKP["KPNum"]; kpParams.KPName = (string)rowKP["Name"]; kpParams.ObjNum = DBNull.Value; tblKPType.DefaultView.RowFilter = "KPTypeID = " + rowKP["KPTypeID"]; object dllFileName = tblKPType.DefaultView[0]["DllFileName"]; kpParams.DllFileName = dllFileName == null || dllFileName == DBNull.Value ? "" : (string)dllFileName; if (kpParams.DllFileName == "") { kpParams.Enabled = false; kpParams.Color = Color.Gray; kpParams.KPView = null; kpParams.Selected = false; kpParams.DllState = ""; } else { if (kpViewList.ContainsKey(kpParams.DllFileName)) { kpParams.KPView = kpViewList[kpParams.DllFileName]; if (kpParams.KPView == null) { kpParams.Enabled = false; kpParams.Color = Color.Red; kpParams.Selected = false; kpParams.DllState = AppPhrases.DllError; } else { kpParams.Enabled = true; kpParams.Color = Color.Black; kpParams.Selected = true; kpParams.DllState = AppPhrases.DllLoaded; } } else { kpParams.Enabled = false; kpParams.Color = Color.Gray; kpParams.KPView = null; kpParams.Selected = false; kpParams.DllState = AppPhrases.DllNotFound; } } kpParams.InCnlsError = false; kpParams.InCnls = ""; kpParams.CtrlCnlsError = false; kpParams.CtrlCnls = ""; kpParamsList.Add(kpParams); } gvKPSel.DataSource = kpParamsList; } catch (Exception ex) { AppUtils.ProcError(AppPhrases.FillKPGridError + ":\r\n" + ex.Message); } }