コード例 #1
0
        private void StringReplaseSettings_Load(object sender, EventArgs e)
        {
            //Получим наименование ключевого поля
            try
            {
                key_field_db_name = DBFunctions.GetGlobalParameter("StringReplaceKeyField");
            }
            catch (Exception err)
            {
                System.Windows.Forms.MessageBox.Show(err.Message, "Ошибка", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                Close();
            }

            //Теперь пользовательское наименование для размещения в label на тулстрипе
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("coldbname", key_field_db_name);
            tslKeyFieldName.Text = (string)DBFunctions.ReadScalarFromDB("SELECT ColumnName FROM tableconfig WHERE ColumnDBName = @coldbname", parameters);

            //Получим все возможные значения ключевого поля
            cbKeyFieldValues.Items.Clear();
            key_field_values = new ArrayList();
            DataTable dt_key_field_values = DBFunctions.ReadFromDB("SELECT DISTINCT " + key_field_db_name + " AS key_field FROM table_credprogr ORDER BY " + key_field_db_name);

            foreach (DataRow kf_row in dt_key_field_values.Rows)
            {
                cbKeyFieldValues.Items.Add(kf_row["key_field"]);
                key_field_values.Add(kf_row["key_field"]);
            }

            //Заполним справочники
            reference_db_names = new ArrayList();

            DataTable dt_references = DBFunctions.ReadFromDB("SELECT referencesconfig.ReferenceDBName,referencesconfig.ReferenceName FROM referencesconfig ORDER BY referencename");

            foreach (DataRow ref_row in dt_references.Rows)
            {
                cbReferenceNames.Items.Add(ref_row["ReferenceName"]);
                reference_db_names.Add(ref_row["ReferenceDBName"]);
            }

            dgReplaceStrings.AutoGenerateColumns = false;
            dgReplaceStrings.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

            DataGridViewTextBoxColumn ref_id_column = new DataGridViewTextBoxColumn();

            ref_id_column.Name             = "ref_id";
            ref_id_column.HeaderText       = "ID элемента справочника";
            ref_id_column.DataPropertyName = "table_reference_id";
            ref_id_column.Visible          = false;
            dgReplaceStrings.Columns.Add(ref_id_column);

            DataGridViewComboBoxColumn ref_name_column = new DataGridViewComboBoxColumn();

            ref_name_column.Name             = "ref_name";
            ref_name_column.HeaderText       = "Элемент справочника";
            ref_name_column.DataPropertyName = "table_reference_value";
            dgReplaceStrings.Columns.Add(ref_name_column);

            DataGridViewTextBoxColumn replace_string_column = new DataGridViewTextBoxColumn();

            replace_string_column.Name             = "replace_string";
            replace_string_column.HeaderText       = "Строка для замены";
            replace_string_column.DataPropertyName = "replace_string";
            dgReplaceStrings.Columns.Add(replace_string_column);

            dt_replaces = new DataTable();

            dgReplaceStrings.DataSource = dt_replaces;

            cbReferenceNames.SelectedIndex = 0;
            cbKeyFieldValues.SelectedIndex = 0;

            TestRights();
        }