gridview, как построить URL-адрес изображения в коде позади? - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть элемент управления gridview, который содержит поле изображения.Однако URL-адрес изображения построен из нескольких полей в моем возвращенном наборе данных.Как вы объединяете эти поля вместе, и в какой момент я делаю это, чтобы я мог передать это изображение или сделать мое поле изображения в моем виде сетки?Я предполагаю, что это на RowDataBound, но я не знаю, как получить доступ к каждой из строк в моем наборе данных?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 10 февраля 2011

Вы можете использовать событие RowDataBound для установки значения ячейки.

void YourGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {

    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      // You can set your cell value in this
      e.Row.Cells[index] // use this to set the value in the cell 
    }

  }
0 голосов
/ 10 февраля 2011

Я не уверен, что вы пытаетесь объединить без примера кода, однако я бы выполнил объединение перед привязкой gridview и сохранил бы его в приватном члене класса, чтобы вы могли получить к нему доступ позже в RowDataBound событие.

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

private string m_ConcatUrl;

protected void gridView_RowDataBound(Object sender, GridViewRowEventArgs args)
{
    if(args.Row.RowType == DataControlRowType.DataRow)
    {
        Image imgCtrl = (Image) args.Row.FindControl("imgCtrl");
        imgCtrl.ImageUrl = m_ConcatUrl;
    }
}
0 голосов
/ 10 февраля 2011

В .NET 4 это будет выглядеть так:

if (e.Row.RowType == DataControlRowType.DataRow)  
{  
    string1 = e.Row.Cells[i].Text;
}

i - это индекс конкретного столбца, на который вы хотите сослаться (например, Cells[0] - это столбец 1).

Я не уверен, отличается ли он в 3.5, но попробуйте.

...