Показать значение ячейки в текстовом поле в c # - PullRequest
0 голосов
/ 20 сентября 2018

Моя проблема заключается в том, что он будет отображать содержимое таблицы данных только в текстовых полях, когда я щелкаю ячейки в столбце Цена, в котором есть тип данных Data Money, а все остальные, кроме ItemNo is Varchar (100).Пожалуйста, помогите, спасибо

     private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
            DataGridViewRow row = this.dataGridView1.CurrentRow;
            txtDsc.Text = row.Cells["Description"].Value.ToString();
            txtQty.Text = row.Cells["Qty"].Value.ToString();
            txtUnt.Text = row.Cells["Unit"].Value.ToString();
            txtPrc.Text = row.Cells["Price"].Value.ToString();
            txtRmr.Text = row.Cells["Remarks"].Value.ToString();
    }

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Как указано в другом ответе, код работает нормально.Я подозреваю, что событие не начинается.Попробуйте установить точку останова и исследовать этот бит.

Я предполагаю, что вам нужно CellClick вместо CellContentClick.См. Событие CellContentClick не всегда работает

В качестве альтернативы, если вы пытаетесь отобразить значения текстового поля на основе выбора в представлении сетки данных, используйте DataGridView.SelectionChanged Событие

0 голосов
/ 20 сентября 2018

Я не совсем уверен, почему он заполняется только при нажатии на эту ячейку;Я воссоздал ваш код, и он работает просто отлично.Мне удалось воссоздать его снова, используя следующий код:

    private void myDGV_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        int row = myDGV.CurrentCell.RowIndex;
        txtDsc.Text = myDGV.Row[row].Cells["Description"].Value.ToString();
        txtQty.Text = myDGV.Row[row].Cells["Qty"].Value.ToString();
        txtUnt.Text = myDGV.Row[row].Cells["Unit"].Value.ToString();
        txtPrc.Text = myDGV.Row[row].Cells["Price"].Value.ToString();
        txtRmr.Text = myDGV.Row[row].Cells["Remarks"].Value.ToString();
    }
...