Boopalslm Ответов: 1

Как установить программно пустые значения ячеек представления сетки данных, взятые равными нулю (0).


I am creating windows application using c# 2010, here I am using data grid view, in my data grid view having 3 columns and many more rows. I am not entered all columns, alternatively I am enter the cells value.
Ex :
Slno	mts	cm
1	2	

2		3	

3		3
Here I want how set programmatically empty data grid view cell values taken zero(0).


Что я уже пробовал:

Как установить программно пустые значения ячеек представления сетки данных, взятые равными нулю (0).

Michael_Davies

По мере ввода данных ловите событие CellLeave или CellValidating и устанавливайте соответствующее значение ячеек.

Boopalslm

как установить здесь я использую приведенный ниже код, но этот код я ввел некоторые значения в ячейку[1] его также преобразует ноль

если (dataGridView1.Количество строк и gt; 0 &&усилителя; dataGridView1.CurrentRow != нуль)
{
dataGridView1.CurrentRow.Клетки[1].Значение.Метод toString();

}

как решить эту ошибку. Я хочу, чтобы я пропустил ячейки, установленные как ноль. как творить.

Michael_Davies

Вы смотрите на значение ячеек, а не на строку, ловите событие CellsValidated и проверяете значение ячеек, если оно равно нулю, устанавливаете его равным нулю.

В вашем коде выше dataGridView1. CurrentRow.Клетки[1].Значение.ToString (); - это инструкция для присвоения значения, вы нигде его не назначаете, и нет смысла устанавливать значение ячейки, и он жестко закодирован, чтобы смотреть только на ячейку[1].

Использование CellsValidated даст вам фактическую ячейку, в которую пользователь только что ввел данные.

Что-то в этом роде:

частный недействительными dataGridView1_CellValidated(системы.Отправитель объекта, система.Окна.Формы.DataGridViewCellValidatingEventArgs е)
{
если (dataGridView1.CurrentCell.IsInEditMode) {
if (dataGridView1.CurrentCell. Value = = Null) {
dataGridView1.CurrentCell. Value = 0
}
}
}

Boopalslm

Я пишу ваш код в событии cellvalidated, но пустая ячейка не печатается в нуле.
Как установить пустые ячейки нулевыми.

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

После привязки данных вызовите нижеприведенную функцию, чтобы сделать пустые ячейки равными 0

private void MakeZeroForEmptyCells()
       {
           foreach (DataGridViewRow row in dataGridView1.Rows)
           {
               foreach (DataGridViewCell cell in row.Cells)
               {
                   string value = Convert.ToString(cell.Value);
                   cell.Value = string.IsNullOrWhiteSpace(value) ? 0 : cell.Value;
               }

           }
       }


и вы должны вызвать эту функцию на CellValueChanged чтобы обновить данные, когда ячейка заполнена пустым значением.