﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / ASP.NET  / Как сделать image background для каждой записи GridVIew? / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Mon, 08 Sep 2008 05:33:06 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>[quote][b]californis (17.08.2007)[/b][hr]использовать динамическую таблицу вместо грида я не хочу:&lt;BR&gt;1. пришлось бы писать всю ту функциональность что уже есть в гриде, а мне это не хочется&lt;BR&gt;2. это не продуктивно. если грид позволяет сделать то что мне нужно, то не стоит тратить время на изобретение велосипеда.[/quote]&lt;/P&gt;&lt;P&gt;Ты все правильно говоришь, но тебе никто и не предлагает заново писать грид. Ведь, скажем, фон для ячейки таблицы в гриде можно задать в обработчике RowCreated. Пример ниже я приводил.&lt;/P&gt;&lt;P&gt;[quote][b]californis (17.08.2007)[/b][hr]картинка отлично известна.&lt;BR&gt;скажем если ты ее не режешь, то пусть она называется bg.jpg&lt;BR&gt;если же ты ее нарезал, то соответственно будет: bg1.jpg, bg2.jpg, bg3.jpg, bg4.jpg, bg5.jpg&lt;BR&gt;все что я хочу с ней сделать- засунуть в каждую строку грида-таблицы.[/quote]&lt;/P&gt;&lt;P&gt;Ну вот и нарежь тогда ее на части, создай 5 классов для каждого фона (td.c1 {background-image:bg1.jpg; background-repeat:no-repeat}, td.c2 {...}, td.c3 {...}, td.c4 {...}, td.c5 {...}) и назначай CssClass для каждой ячекий как в ранее приведенном примере.</description><pubDate>Fri, 17 Aug 2007 17:27:57 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>использовать динамическую таблицу вместо грида я не хочу:&lt;BR&gt;1. пришлось бы писать всю ту функциональность что уже есть в гриде, а мне это не хочется&lt;BR&gt;2. это не продуктивно. если грид позволяет сделать то что мне нужно, то не стоит тратить время на изобретение велосипеда.&lt;/P&gt;&lt;P&gt;[quote]&lt;BR&gt;Насколько я понял тебе нужно чтобы у каждой ячейки в каждой строке таблицы был свой собственный фон в виде неодородной картинки. &lt;BR&gt;[/quote]&lt;BR&gt;необязательно. еще раз:&lt;BR&gt;есть таблица(грид) на 5 столбцов и 10 строк.&lt;BR&gt;есть картинка которую я бы хотел использовать как фон для КАЖДОЙ СТРОКИ.&lt;BR&gt;если есть возможность не резать картинку- fine. otherwise  we can divide the image into some seperate images.&lt;BR&gt;меня интересует только результат, поэтому будет ли это сделано с цельной картинкой или разрезаной - без разницы.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;[quote]&lt;BR&gt;Так как картинка заранее неизвестна, то значит надо будет делать ее на лету. Обычно для этого создается http handler (.ashx файл) который выдает не html, а картинку. &lt;BR&gt;[/quote]&lt;BR&gt;картинка отлично известна.&lt;BR&gt;скажем если ты ее не режешь, то пусть она называется bg.jpg&lt;BR&gt;если же ты ее нарезал, то соответственно будет: bg1.jpg, bg2.jpg, bg3.jpg, bg4.jpg, bg5.jpg&lt;BR&gt;все что я хочу с ней сделать- засунуть в каждую строку грида-таблицы.&lt;BR&gt;</description><pubDate>Fri, 17 Aug 2007 16:57:50 GMT</pubDate><dc:creator>californis</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>[quote][b]californis (11.08.2007)[/b][hr]довольно странно что с CSS это нельзя(?) сделать т.к. я могу у TR, в обычной стат таблице задать сво-во для имидж бэкграунда и все будет ок. т.е. данную задачу можно было бы решить путем использования не грида, а построения динамической таблицы с заданием нужных св-в, но мне этот вариант не нравится потому как это займет и время и вообще может быть pain in the ***.[/quote]&lt;/P&gt;&lt;P&gt;Но ведь у TR нет свойства background так что CSS здесь никак не проигрывает. Кроме того не понимаю, в чем сложность генерации грида с нужными тебе свойствами. По-моему ты преувеличиваешь сложность задачи.&lt;/P&gt;&lt;P&gt;[quote][b]californis (11.08.2007)[/b][hr]а вот твой ответ про генерирование на лету я не понял...можно поподробнее что ты имел в виду?[/quote] &lt;P&gt;Насколько я понял тебе нужно чтобы у каждой ячейки в каждой строке таблицы был свой собственный фон в виде неодородной картинки. Так как картинка заранее неизвестна, то значит надо будет делать ее на лету. Обычно для этого создается http handler (.ashx файл) который выдает не html, а картинку.</description><pubDate>Mon, 13 Aug 2007 19:25:04 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>[quote][b]bazile (06.08.2007)[/b][hr]Вопрос ясен. Проблема в том, что у TR, насколько я понял, фона быть не может. Точнее он используется (в терминах CSS - наследуется) элементами TD. Значит выход, только в указании частей этой картинки у каждой ячейки стиля background-image с нужной картинкой. Саму картинку как видно придется генерировать на лету.[/quote]&lt;/P&gt;&lt;P&gt;довольно странно что с CSS это нельзя(?) сделать т.к. я могу у TR, в обычной стат таблице задать сво-во для имидж бэкграунда и все будет ок. т.е. данную задачу можно было бы решить путем использования не грида, а построения динамической таблицы с заданием нужных св-в, но мне этот вариант не нравится потому как это займет и время и вообще может быть pain in the ***.&lt;/P&gt;&lt;P&gt;а вот твой ответ про генерирование на лету я не понял...можно поподробнее что ты имел в виду?</description><pubDate>Sat, 11 Aug 2007 19:42:25 GMT</pubDate><dc:creator>californis</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>Вопрос ясен. Проблема в том, что у TR, насколько я понял, фона быть не может. Точнее он используется (в терминах CSS - наследуется) элементами TD. Значит выход, только в указании частей этой картинки у каждой ячейки стиля background-image с нужной картинкой. Саму картинку как видно придется генерировать на лету.</description><pubDate>Mon, 06 Aug 2007 12:59:14 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>нет, ты не правильно меня понял. мне надо сделать так, чтобы каждая строка грида имела свой фон. фон представляет из себя упрощенно некую графику в виде прямоугольника. грид сам по себе рисует эти прямоугольники, но они не красивые, а я пытаюсь сделать это с помощью графики.&lt;P&gt;уточнение по поводу грида: грид имеет несколько столбцов и строк, но картинка бэк фона должна быть 1 на каждую строку. т.е. фон как бы не должен замечать сколько столбцов- 1 или несколько и визуально для фона у грида как бы 1 столбец, но по факту их несколько&lt;P&gt; &lt;P&gt;либо можно этот фон нарезать на квадратики и определить каждый из них для своего столбца грида, но как это сделать? ведь у стиля в примере с td это сделать нельзя, т.к. фон у первого квадратика будет отличным от второго и у второго от последнего.&lt;P&gt;т.е. если упрощено, то пусть есть 5 столбцов, и фон на каждую строку будет грубо говоря таким:&lt;P&gt;1 квадратик имеет красный цвет с неким рисунком, 2-4 серый цвет, а 5й синий.</description><pubDate>Wed, 01 Aug 2007 03:23:07 GMT</pubDate><dc:creator>californis</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>Вдогонку. Правило с first-child выглядит логичнее, но может иметь побочный ээфект в виде назначения фона и заголовкам (th). Непонятно как можно ограничить действие правила только элементом td.</description><pubDate>Mon, 30 Jul 2007 12:04:51 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>Проверка показала что свойство background-repeat (которое ты неправильно используешь) здесь не работает. Похоже что у элемента tr не может быть фона.&lt;P&gt;Насколько я понял тебе надо чтобы фон был только у первой ячейки. У меня это получилось сделать. В своем примере: убрал у GridView атрибут CssClass, удалил CSS правило для grid1 и вместо него написал правило td.bgCell {background:url(/images/GridBg.jpg); background-repeat:no-repeat}. Затем добавил у GridView обработчик события RowCreated со следующим кодом:&lt;/P&gt;&lt;P&gt;if (e.Row.RowType==DataControlRowType.DataRow)&lt;BR&gt;{&lt;BR&gt;    e.Row.Cells[0].CssClass = "bgCell";&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;То есть каждой первой ячейке назначаем класс bgCell и таким образом фон будет только у нее.&lt;/P&gt;&lt;P&gt;Перед этим еще пробовал следующий вариант, более красивый с точки зрения CSS, но он не работает даже в IE7, при этом в FireFox правило сработало как ожидалось:&lt;/P&gt;&lt;P&gt;table.grid1 tr:first-child {background-image:url(/images/GridBg.jpg); background-repeat:no-repeat}</description><pubDate>Mon, 30 Jul 2007 11:57:23 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>заменил&lt;/P&gt;&lt;P&gt;background:url(/images/GridBg.jpg);&lt;BR&gt;&lt;/P&gt;&lt;P&gt;на &lt;/P&gt;&lt;P&gt;background-repeat:url(/images/GridBg.jpg);&lt;BR&gt;&lt;/P&gt;&lt;P&gt;теперь вообще ничего не выводит в качестве фона...</description><pubDate>Sat, 28 Jul 2007 20:10:10 GMT</pubDate><dc:creator>californis</dc:creator></item><item><title>RE: Как сделать image background для каждой записи GridVIew?</title><link>http://www.relib.com/forums/Topic914963-25-1.aspx</link><description>[quote][b]californis (27.07.2007)[/b][hr]хоть написано tr а все равно картинку засовывает в каждую ячейку[/quote]&lt;/P&gt;&lt;P&gt;Используй свойство background-repeat.</description><pubDate>Sat, 28 Jul 2007 12:43:09 GMT</pubDate><dc:creator>bazile</dc:creator></item></channel></rss>