2013-12-14 2 views
0

У меня есть datagridview в winform с базой данных/SQL. DataGridView имеет столбец со ссылками, указывающими на веб-сайты, работает нормально с этим событием:Ссылка на две колонки Datagridview должна указывать на разные события

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
    { 
     if (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewLinkColumn) 
     { 
      Process.Start(this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString()); 
     } 
    } 

мне нужно сейчас, чтобы добавить новый столбец, который содержит ссылку FileNames фотографий в локальной папке. Из-за вышеописанной структуры метода нет никакой разницы в поведении события linkClick, но мне нужна одна колонковая ссылка, чтобы открыть URL-адрес клика и другой столбецLink, чтобы открыть локальный файл. Как я могу это сделать?

ответ

0

Вы уже получили доступ к ColumnIndex ... вы могли бы просто проверить, какой столбец принадлежит в данный момент щелкнул ячейка:

if (dataGridView1.Columns[e.ColumnIndex] is DataGridViewLinkColumn) 
{ 
    var location = Convert.ToString(dataGridView1[e.ColumnIndex, e.RowIndex].Value); 

    if (e.ColumnIndex == 1) 
     Process.Start(location); 
    else if (e.ColumnIndex == 2) 
     // Open the file specified in 'location' 
} 
+0

Brilliant. Большое спасибо. – FeliceM

Смежные вопросы