C# Добавить HyperLinkColumn в GridView

Я пытаюсь динамически добавить HyperLinkColumns в свой GridView. У меня такой код:

HyperLinkColumn objHC = new HyperLinkColumn();
objHC.DataNavigateUrlField = "title";
objHC.DataTextField = "Link text";
objHC.DataNavigateUrlFormatString = "id, title";
objHC.DataTextFormatString = "{2}";

GridView1.Columns.Add(objHC);

Это не работает, поэтому ... как я могу добавить HyperLinkColumn в свой GridView?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
29 072
7

Ответы 7

Похоже, вы что-то перепутали. Я не знаю - как этот код компилируется?

Коллекция столбцов GridView может принимать столбцы типа «DataControlField». Я думаю, вам нужно инициализировать HyperLinkField и установить соответствующие свойства (текст, NavigateUrl, HeaderText, Target) и добавить его в коллекцию столбцов.

Класс HyperLinkColumn имеет смысл, когда вы используете DataGrid (не в случае GridView).

Надеюсь, это поможет.

Вы должны сделать это до того, как произойдет привязка данных, проверьте События GridView.

Вы можете добавить его, когда строка привязана:

protected void yourGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
        HyperLink hlControl = new HyperLink();
        hlControl.Text = e.Row.Cells[2].Text; //Take back the text (let say you want it in cell of index 2)
        hlControl.NavigateUrl = "http://www.stackoverflow.com";
        e.Row.Cells[2].Controls.Add(hlControl);//index 2 for the example
}

это действительно полезно для меня ... не могли бы вы рассказать мне о событиях, связанных с этой гиперссылкой?

shruti 25.11.2011 11:02

В случае, если вы просто хотите перенаправить на другой URL-адрес, просто используйте веб-элемент управления HyperLink и вставьте его в нужную ячейку GridView Row в событии RowDataBound.
OR
Если вы хотите выполнить какое-либо событие сервера перед его отправкой на другой URL-адрес, попробуйте это
  1) Добавьте объект LinkButton в событие RowDataBound GridView.
  2) Задайте свойство CommandName, CommandArgument, если требуется передать какие-либо данные этому объекту. 3) Захватите это событие, обработав событие RowCommand GridView.

Кстати, я просто думаю, что вы можете использовать DataGridView и в конструкторе выберите столбец Link, и ваша проблема будет решена. В DataGridView есть столбец ссылок, поэтому вам просто нужно добавить событие в «Click», и вы сможете получить то, что хотите. Это решение работает, если вы можете переключиться на DataGridView.

Я думаю, вам следует использовать HyperLinkField, а не HyperLinkColumn.

Я знаю, что эта ветка устарела, но не мог не добавить свои 2 цента. Процедура, описанная в следующем руководстве, у меня отлично сработала: ASP Альянс

Другие вопросы по теме