Jamie888 Ответов: 2

Как получить доступ к datagridviewlinkcolumn клетки


Привет, у меня есть WinForm с datagrid в нем. Внутри таблицы данных у меня есть один столбец-DataGridViewLinkColumn, в котором у меня будет гиперссылка, позволяющая пользователям переходить на веб-сайт на основе построенного URL-адреса.
У меня есть несколько вопросов по этому поводу, так как я не знаком с WinForm. Ниже приведены мои коды:
foreach (DataGridViewRow row in dgvCustomer.Rows)
{
     foreach (var cell in row.Cells)
     {
          DataGridViewLinkCell linkCell = cell as DataGridViewLinkCell;
          if (linkCell.Value.ToString()== "0")
          {
              linkCell.UseColumnTextForLinkValue = true;
              linkCell.Value = "Use Customer Standard";                        
          }
     }
}


Я успешно заполнил все данные в gridview.
Из приведенных выше кодов я получу доступ к gridview строка за строкой, и я попытался изменить поведение и значение конкретной ячейки, которые удовлетворяют определенному условию, как указано выше.
Это связано с тем, что, хотя это DataGridViewLinkColumn, при определенных условиях я хочу удалить поведение гиперссылки и просто отобразить значение в виде обычного текста.
Я всегда получаю значение null исключение при переменной linkCell, в случае, если заявление.
Могу ли я узнать, как я могу этого достичь?

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

1. Поиск статьи в интернете, но безрезультатно.
2. попытался использовать intellisense в кодах(поставив точку .(точка)), чтобы увидеть, есть ли какие-либо предложения от VS, но не нашел ни одного.

2 Ответов

Рейтинг:
1

Richard MacCutchan

if (linkCell.Value.ToString()== "0")

Это неправильно, если ячейка пуста, то значение будет равно "null". Воспользуйся:
if (linkCell.Value == null)


Рейтинг:
1

Jo_vb.net

Вы можете проверить, не является ли linkCell.Value ничем
до
если (linkCell.Значение.ToString()== "0")


Richard MacCutchan

Только не в Си#