void dgv_SelectionChanged(object sender, EventArgs e = null)
        {
            DataGridView dgv = sender as DataGridView;

            if (dgv.SelectedRows.Count != 1)
            {
                return;
            }

            _displayedDataRow = null; //to avoid updating while attributes are written

            RowTag dataBaseRow = dgv.SelectedRows[0].Tag as RowTag;

            //fill controls with database attributes
            txtPath.Text                 = (dataBaseRow == null) ? string.Empty : dataBaseRow.FilePath;
            txtYearCollection.Text       = (dataBaseRow == null) ? string.Empty : dataBaseRow.YearCollection;
            txtYearIncome.Text           = (dataBaseRow == null) ? string.Empty : dataBaseRow.YearInc;
            txtListStringOutVar.Text     = (dataBaseRow == null) ? string.Empty : dataBaseRow.ListStringOutVar;
            txtIndirectTaxTableYear.Text = (dataBaseRow == null) ? string.Empty : dataBaseRow.IndirectTaxTableYear;
            string currency = (dataBaseRow == null) ? string.Empty : dataBaseRow.Currency.ToLower();

            cboCurrency.SelectedIndex = 0;
            for (int i = 0; i < GetCurrencies().Count; ++i)
            {
                if (GetCurrencies().ElementAt(i).ToLower() == currency)
                {
                    cboCurrency.SelectedIndex = i;
                    break;
                }
            }
            string decimalSign = (dataBaseRow == null) ? string.Empty : dataBaseRow.DecimalSign;

            cboDecimalSign.SelectedIndex = 0;
            for (int index = 0; index < GetDecimalSigns().Count; ++index)
            {
                if (GetDecimalSigns().ElementAt(index).ToLower() == decimalSign)
                {
                    cboDecimalSign.SelectedIndex = index;
                    break;
                }
            }
            chkPrivate.Checked = (dataBaseRow != null && dataBaseRow.Private == DefPar.Value.YES);

            if (dataBaseRow != null && dataBaseRow.IsCommonDefaultNull)
            {
                OptionalWarningsManager.ShowOutdatedWarning("The parameter 'UseCommonDefault' does not exist for dataset '" + dataBaseRow.Name +
                                                            "'." + Environment.NewLine + "This is probably due to using an outdated TXT-to-XLM-converter." + Environment.NewLine + "Please make sure that the parameter is set properly.");
            }

            chkUseCommonDefault.Checked = (dataBaseRow != null && !dataBaseRow.IsCommonDefaultNull && dataBaseRow.UseCommonDefault == DefPar.Value.YES);

            chkReadXVariables.Checked = (dataBaseRow != null && dataBaseRow.ReadXVariables == DefPar.Value.YES);

            //this is to make btnRenameDatabase_Click work (see comment in function)
            dgv.SelectedRows[0].HeaderCell.Value = dataBaseRow.Name;

            _displayedDataRow = dataBaseRow;
        }