Как исправить это Erorr (System.Windows.Forms.DataGridViewCell.Value.get вернул null.) - PullRequest
0 голосов
/ 02 ноября 2019

Как можно исправить эту ошибку При возврате ноль

Это соответствующая часть кода:

        private void DgvIncome_MouseClick(object sender, MouseEventArgs e)
        {

            //try
            {
                txtCode.Text = dgvIncome.SelectedRows[0].Cells[1].Value.ToString();
                txtRecNo.Text = dgvIncome.SelectedRows[0].Cells[2].Value.ToString();
                txtMembershipID.Text = dgvIncome.SelectedRows[0].Cells[3].Value.ToString();
                txtGustName.Text = dgvIncome.SelectedRows[0].Cells[4].Value.ToString();
                txtGustMobile.Text = dgvIncome.SelectedRows[0].Cells[5].Value.ToString();
                txtNote.Text = dgvIncome.SelectedRows[0].Cells[6].Value.ToString();
                txtSalesNo.Text = dgvIncome.SelectedRows[0].Cells[7].Value.ToString();
                txtMainPackageNo.Text = dgvIncome.SelectedRows[0].Cells[8].Value.ToString();
                txtSubPackageNo.Text = dgvIncome.SelectedRows[0].Cells[9].Value.ToString();
                txtPackageNo.Text = dgvIncome.SelectedRows[0].Cells[10].Value.ToString();
                txtNatPrice.Text = dgvIncome.SelectedRows[0].Cells[11].Value.ToString();
                txtDiscount.Text = dgvIncome.SelectedRows[0].Cells[12].Value.ToString();
                dtpStartDate.Text = dgvIncome.SelectedRows[0].Cells[13].Value.ToString();
                dtpEndDate.Text = dgvIncome.SelectedRows[0].Cells[14].Value.ToString();
                ShowSalesName();
                ShowMainPackageName();
                ShowSubPackageName();
                ShowPackageName();
                ShowPrice();
                chbxSearch.Checked = false;
            }

Ошибка: При выборе строки есть пустые значения,

System.NullReferenceException: 'Object reference not set to an instance of an object.'

System.Windows.Forms.DataGridViewCell.Value.get returned null.

1 Ответ

0 голосов
/ 02 ноября 2019

Зависит от того, что вы хотите сделать, если значение ячейки равно нулю. Самый простой способ справиться с этим будет использовать? Оператор, подобный следующему:

txtCode.Text = dgvIncome.SelectedRows[0].Cells[1].Value?.ToString();

Это присвоит нулевое значение свойству Text текстовых полей в случае, если значение ячейки будет нулевым, что, вероятно, то, что вы хотите.

см. https://csharp.today/c-6-features-null-conditional-and-and-null-coalescing-operators/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...