Raja Ganapathy Ответов: 1

Как проверить столбец между заданными позициями?


у меня есть 45 строк и 45 столбцов в таблице данных.
* проверьте третий столбец(от 12-й строки до 39-й строки)в этом промежуточном поле есть хотя бы одно значение(мое требование-значение '1')
* если 3-й столбец 19-й строки имеет значение "1", то другие поля или пустые.
* если ни одна строка не имеет никакого значения, то только через ошибку
Как это сделать.

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

я использовал цикл для строк и столбцов, приведенных ниже.
for(int j= 3; j<= columncountvalue; j++)
	{
for (int i = 12; i <= rowcountvalue; i++)
            {
                if (ds.Tables[s].Columns[3][i].ToString().Trim() == "") 
                {

			// statements
		        }
            }
    }


now i want which condition used for that requirements.

1 Ответов

Рейтинг:
9

#realJSOP

0) вы используете одну и ту же переменную в обоих циклах for. Это не даст вам ожидаемого результата.

1) Вы находитесь жесткого кодирования количество столбцов в случае, если заявление вместо использования итератора.

Это то, что вы хотели сделать?

for(int j = 3; j <= columncountvalue; j++)
{
    for (int i = 12; i <= rowcountvalue; i++)
    {
        if (string.IsNullOrEmpty(ds.Tables[s].Columns[j][i].ToString().Trim() )) 
        {
            // statements
        }
    }
}


И кстати, если вы столкнетесь с нулевым значением в своей таблице, код выдаст исключение, потому что вы попытались вызвать ToString() по нулевой ссылке.

Кроме того, если вы не вычитали 1 из columncountvalue и rowcountvalue, вы, вероятно, получите исключение вне диапазона, когда оно попадет в конец строк и / или столбцов.

Наконец, я бы, вероятно, повторил строки перед столбцами, но это скорее вопрос стиля, я полагаю.


Raja Ganapathy

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