Я пытаюсь все, что знаю, чтобы изменить цвет строки в asp: репитере. Что я пытаюсь сделать, так это: исходя из значения, я хочу иметь возможность установить цвет записи в элементе управления ретранслятора. Я пробовал теги DIV, не могу заставить его работать. Как мне это сделать? ThaksASP.Net Repeater control
1
A
ответ
4
попробовать что-то вроде этого в коде позади
protected void rpt_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.DataItem != null)
{
string color = (string)DataBinder.Eval(e.Item.DataItem, "RowColor");
HtmlTableRow rowToColor = (HtmlTableRow)e.Item.FindControl("Row");
rowToColor.Attributes.CssStyle.Add("background-color", color);
}
}
и что-то вроде этого на странице ASPX
<asp:Repeater ID="rpt" runat="server" OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
<tr id="Row" runat="server">
<td>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
0
Вы могли бы решить эту проблему много различных способов и в зависимости от того, что ваши репитер должен выглядеть или данные, которые вы отправляете на него, нет лучшего ответа. Ниже приведено обходное решение, которое будет оценивать данные и сравнивать их для правильного цветового ответа.
В шаблоне элемента репитера окружает его div.
<div style="background-color:<%# GetBG((string)(DataBinder.Eval(Container.DataItem,"DataField")))%>">
и в коде позади имеют функцию, чтобы решить
public string GetBG(string demo)
{
if (demo == "TestData2")
return "yellow";
return "Green";
}
Это не очень хороший способ сделать это и довольно расточительно. Функция onDataBind будет лучшим способом, просто хотел показать еще один способ выполнить эту задачу.
5
Используйте <% #%> Databinding синтаксиса внутри ItemTemplate сделать условное форматирование:
<asp:Repeater runat="server" ID="rpt">
<ItemTemplate>
<div class="<%# Container.ItemIndex % 2 ? "even" : "odd" %>">
</div>
<div class="<%# Eval("PropertyOfDataSource") %>">
</div>
</ItemTemplate>
</asp:Repeater>
Смежные вопросы
- 1. Repeater Control asp.net
- 2. ASP.NET Найти DropDown Value Inside Repeater Control
- 3. Условие в ASP Repeater Control
- 4. ASP.NET Repeater
- 5. ASP.NET Repeater Control, связанный с подробным представлением параметров QueryString
- 6. Получить щелкнутый элемент TextBox, отображаемый в Repeater Control ASP.Net
- 7. ASP.NET Найти DropDown Value Inside Repeater Control Часть II
- 8. Как связать один объект LINQ с ASP.NET Repeater Control
- 9. Переключить строки, созданные с помощью Repeater Control ASP.NET
- 10. Передача Container.Eval в (Html.ReaderPartial) внутри ASP.NET Repeater Control
- 11. Отправить строку с QueryString в Repeater Control в ASP.net
- 12. NavigateUrl на Repeater ASP.net
- 13. Asp.net Repeater row count
- 14. ASP.NET Repeater Paging/Сортировка
- 15. ASP.NET Repeater не обязательный
- 16. ASP.NET Repeater Eval
- 17. ASP.NET Repeater и DataBinder.Eval
- 18. C# ASP.NET Repeater Sorting
- 19. Наполнение в ASP.NET Repeater
- 20. ASP.NET Repeater Horizontal
- 21. Asp.Net - ListView внутри Repeater
- 22. Справка ASP.NET MVC Repeater
- 23. ASP.NET DataGrid в Repeater
- 24. ASP.NET Repeater DataItems
- 25. ASP.NET Repeater вопрос
- 26. HIde a Column in Repeater Control
- 27. Repeater Control, обнаруживающий объект, который вызывает событие
- 28. Bind DataTable to Repeater control внутри GridView
- 29. Проблема с гиперссылкой в Repeater Control
- 30. Добавление ASP.NET Dynamic Control
поделитесь кодом? Существует много способов сделать это, и нам нужно знать, как ваш существующий код подходит друг к другу, или мы просто догадываемся. Вы можете получить что-то, что работает, но может быть и лучший способ. –
Stackoverflow усекает код, когда я пытаюсь вставить его. Код - это просто базовый элемент управления Repeater, ничего необычного. –
Упростите код, чтобы получить точку без публикации всего –