none
Картинка со ссылкой в SPGridView RRS feed

  • Вопрос

  • Не могу никак понять как это сделать.

    На веб части вывожу с помощью SPGridView свой список, следующего вида Картинка + название.

    Надо, чтоб по клику на картинку открывалось окно просмотра элемента. Какую ссылку поставить на картинку я знаю... Не знаю как сделать, чтоб картинка была кликабельна.

    Данные для SPGridView получаю так:

        DataTable GetData()
        {
          SPWeb myweb = SPContext.Current.Web;
          SPList mylist = myweb.Lists["MyList"];
          DataTable dt = new DataTable();
          dt.Columns.Add(new DataColumn("PictureURL", typeof(string)));
          dt.Columns.Add(new DataColumn("Title", typeof(string)));
    
          foreach (SPListItem myitem in mylist.Items)
          {
            string Url = "'../_layouts/listform.aspx?PageType=4&ListId={" + mylist.ID +
               "}&ID=" + myitem.ID.ToString() + "&ContentTypeID=" + myitem.ContentTypeId.ToString() + "/'";
            DataRow dr = dt.NewRow();
            dr["cardUrl"] = "<a href=javascript:ShowDialog('" + Url + "')></a>";
            dr["PictureURL"] = ResolveUrl(myitem.Attachments.UrlPrefix + myitem.Attachments[0].ToString());
            dr["Title"] = myitem.Title.ToString();
            dt.Rows.Add(dr);
            dr = dt.NewRow();
          }
          ImageField imageField = new ImageField();
          imageField.HeaderText = "Фото";
          imageField.DataImageUrlField = "PictureURL";
          imageField.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
          imageField.ItemStyle.Wrap = false;
          imageField.ControlStyle.Width = 150;
          imageField.ControlStyle.Height = 150;
          GridView1.Columns.Add(imageField);
          BoundField boundField = new BoundField();
          boundField.HeaderText = "Название";
          boundField.DataField = "Title";
          boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
          boundField.ItemStyle.Wrap = false;
          GridView1.Columns.Add(boundField);
          return dt;
        }
    

     

    19 июля 2011 г. 13:30

Ответы

  • Здравствуйте,

    посмотрите вариант Add a Hyperlink Image in a SPGridView


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    • Предложено в качестве ответа Roman Zhukov 8 августа 2011 г. 7:36
    • Помечено в качестве ответа Dmitry Davydov 9 августа 2011 г. 14:06
    1 августа 2011 г. 10:50