В настоящее время я пытаюсь использовать Repeater WebControl для отображения таблицы, в которой перечислены все возможные компоненты. Ниже мой стол;Слияние ячейки равного значения в ASP.NET Repeater
Сейчас я пытаюсь слившихся клеток в группе Код и группы столбце Описание, которые имеют одинаковое значение. Ниже мой код слияния ячейки, отметил, что код находится в классе;
public void repeaterRowSpan(string repeaterID, string columnID)
{
var pageHandler = HttpContext.Current.CurrentHandler;
Control ctrl = ((Page)pageHandler).Master.FindControl("ContentPlaceHolder3").FindControl(repeaterID);
Repeater repeaterName = (Repeater)ctrl;
for (int i = repeaterName.Items.Count - 1; i > 0; i--)
{
HtmlTableCell oCell_previous = (HtmlTableCell)repeaterName.Items[i - 1].FindControl(columnID);
HtmlTableCell oCell = (HtmlTableCell)repeaterName.Items[i].FindControl(columnID);
oCell.RowSpan = (oCell.RowSpan == -1) ? 1 : oCell.RowSpan;
oCell_previous.RowSpan = (oCell_previous.RowSpan == -1) ? 1 : oCell_previous.RowSpan;
if (oCell.InnerText == oCell_previous.InnerText)
{
oCell.InnerText = "";
oCell_previous.RowSpan += oCell.RowSpan;
}
}
}
Каким-то образом код удаляет одно и то же значение в столбце, но сохраняет строку rowspan. Когда я отлаживаю, oCell_previous.RowSpan возвращает «2», поэтому сам код работает нормально. Ниже приведен результат слияния;
Как я могу модифицировать свой код, таким образом, он будет объединен в клетку?
На ваш взгляд, между Repeater и GridView, который наиболее подходит для отображения данных в виде таблицы в этом проекте? По моему мнению, повторитель наиболее подходит, поскольку он быстрее, чем GridView. GridView подходит только в том случае, если у вас есть функция редактирования, чтобы идти с вашей таблицей.
Возможный дубликат [asp.net повторитель сливающихся столбцов динамически] (http://stackoverflow.com/questions/29999444/asp-net-repeater-merge-columns-dynamically) – Lucky