0

Язык vb.net/C#. Имеется DataGridView. Использую для сохранения документов в CAD системе. Требуется проверить нет ли среди строк таблицы пустых (в строках путь сохранения). Если имеется хотя бы одна,то прервать выполнение. Ниже пример на скриншоте:

введите сюда описание изображения

Вот код,как я пытался сделать. Срабатывает не так,как я хочу. Цикл прерывается, сохранение не происходит. Но,после того,как каталог указали и снова нажимаю кнопку - ничего не происходит.

В чем ошибка?

For y as Integer = 0 to List1_indexes.Count-1
       docPath = DataGridnames.Rows(List1_indexes.ElementAt(y)).Cells(6).Value
   if String.IsNullOrEmpty(DataGridnames.Rows(List1_indexes.ElementAt(y)).Cells(6).Value) then
      MessageBox.Show("Please select folder to this document:" & DataGridnames.Rows(List1_indexes.ElementAt(y)).Cells(0).Value)
                       ' exit for 'не помогает
           Exit Sub
    end if 

Next

for z as Integer = 0 to List1_indexes.Count-1 selection1.Item(z+1).Value.ReferenceProduct.Parent.SaveAs(docPath & "\" & selection1.item(z+1).LeafProduct.PartNumber) Next

  • К сожалению, мне не удалось разобраться в вопросе. Единственное что могу посоветовать - перестать насиловать ячейки DGV и начать работать с данными, обновляя интерфейс в автоматическом режиме с помощью BindingList и INotifyPropertyChanged - https://ru.stackoverflow.com/a/1199692/373567. У вас интерфейс хранит данные. А он не должен быть хранилищем, он должен только отображать. – aepot Oct 08 '21 at 10:03
  • 1
    Ставьте точки останова, смотрите значения переменных, выполняйте код пошагово. Отладка вас спасет. – aepot Oct 08 '21 at 10:07

0 Answers0