ListView 컨트롤을 DataSet 형식의 데이터에 바인딩하려고합니다. 또한 DataPager 유형을 통해 페이징을 도입했습니다.IListSource 가져 오기 ASP.NET에서 데이터 원본 예외가 포함되어 있지 않습니다.
DataBind에 대한 첫 번째 호출에서 바인딩이 완벽하게 수행됩니다. 그러나 다음 결과 집합을 검색하기 위해 다음을 클릭하면 내 함수가 적절한 DataSet을 반환하더라도 바인딩을 수행 할 수 없습니다.
void getSubSet(int rowindex, DataSet resultSet, int pageSize)
{
DataSet ds = new DataSet();
DataTable tb = new DataTable();
for (int cols = 0; cols < resultSet.Tables[0].Columns.Count; cols++)
{
DataColumn dc = new DataColumn(resultSet.Tables[0].Columns[cols].ColumnName,
resultSet.Tables[0].Columns[cols].DataType);
tb.Columns.Add(dc);
}
for (int i = rowindex; ((i < resultSet.Tables[0].Rows.Count) && (i < rowindex + pageSize)); i++)
{
DataRow rowToBeAdded = resultSet.Tables[0].Rows[i];
DataRow newRow;
newRow = tb.NewRow();
for (int j = 0; j < resultSet.Tables[0].Columns.Count; j++)
newRow[j] = rowToBeAdded[j];
tb.Rows.Add(newRow);
}
ds.Tables.Add(tb);
return ds;
}
DataSet resultSet에는 모든 결과가 포함됩니다.
위의 조각은, 하지만 LV는 .aspx 페이지에서 ListView 컨트롤입니다
LV.DataSource = getSubSet(newIndex, resultSet, pageSize);
LV.DataBind();
에를 완벽하게 결과를 반환합니다. 페이징 중 두 번째 호출시 예외를 반환합니다.
도와주세요! 감사!
예, 확인했는데 getSubSet에 의해 반환 된 DataSet은 비어 있지 않으며 유효한 데이터를 포함합니다. 또한 웹 서비스를 사용하여 DataSet 형식의 데이터를 반환하므로 SqlDataSource를 사용할 수 없습니다. – Kaniks