ListViewコントロールをDataSet型に含まれるデータにバインドしようとしています。 私はDataPagerタイプでページングを導入しました。IListSourceの取得にASP.NETのデータソース例外が含まれていません
DataBindへの最初の呼び出しでは、バインドが完全に行われます。 しかし、次の結果セットを取得するために[次へ]をクリックすると、関数が適切なデータセットを返してもバインドできません。
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();
時に。ページング中に2番目の呼び出しで例外が返されます。
助けてください!ありがとう!
はい、確認しましたが、getSubSetによって返されたDataSetは空ではなく、有効なデータを含んでいます。また、私はWebサービスを使用してDataSet形式のデータを返すため、SqlDataSourceを使用することはできません。 – Kaniks