Я вложил элемент управления повторителем в Gridview. Прямо сейчас он показывает строки вида сетки и заголовок повторителя для каждого случая (есть ли данные для этой конкретной строки вида сетки в элементе управления повторителем). Я хочу скрыть строку вида сетки и заголовок элемента управления повторителем, когда для этой конкретной строки вида сетки нет данных.
Спасибо,
Этот случай я обработал на уровне кода, отфильтровав полученную таблицу данных.
Теперь другая проблема, с которой я сталкиваюсь:
Я разрешил пейджинг на gridview, т.е. на странице 3.
Когда страница загружается, она работает нормально, но когда я перехожу на страницу 2, она генерирует следующую ошибку:
Индекс был вне диапазона. Должен быть неотрицательным и меньшим, чем размер коллекции. Имя параметра: индекс
Ниже приведен код для заполнения сетки, разбивки на страницы и повторителя заполнения для события сетки, связанного со строкой.
приватная пустота FillGrid ()
{
clsCustomFunctions objShort = new clsCustomFunctions ();
grd1.DataSource = objShort.GetAll ();
} * +1010 *
protected void grd1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
FillGrid();
grd1.PageIndex = e.NewPageIndex;
grd1.DataBind();
}
catch (Exception ex)
{
lblMsg.Text = ex.Message;
}
}
protected void grd1_RowDataBound(object sender, GridViewRowEventArgs e)
{
clsCustomFunctions objShort = new clsCustomFunctions();
if (e.Row.RowType == DataControlRowType.DataRow)
{
((HtmlTable)e.Row.FindControl("gridTable")).BgColor = "#006699";
Repeater rpt = (Repeater)e.Row.FindControl("rpt1");
rpt.DataSource = objShort.GetResult(Convert.ToInt32(grd1.DataKeys[e.Row.DataItemIndex].Value));
rpt.DataBind();
}
}
grd1.DataKeys [e.Row.DataItemIndex]. Строка значения вызывает ошибку. Как справиться с этим, чтобы передать значения только на странице 2.