【发布时间】:2015-11-02 15:49:13
【问题描述】:
我有一个数据表用作中继器的数据源,并且希望每次调用时都以随机顺序显示结果。
我已经能够在检索数据时执行此操作,但希望在绑定之前缓存结果集。
在绑定到中继器之前是否要对数据表的行进行洗牌或随机化?
代码:
TreeProvider tp = new TreeProvider();
DataSet ds = new DataSet();
string sKey = "KEY";
using (CachedSection<DataSet> cs = new CachedSection<DataSet>(ref ds, 5, true, null, sKey))
{
if (cs.LoadData)
{
ds = tp.SelectNodes("", "URL", "", true, "DOCTYPE", "", "NewID()", -1, true, 5);
cs.Data = ds;
}
}
if (!DataHelper.DataSourceIsEmpty(ds))
{
rprItems.DataSource = ds.Tables[0].DefaultView;
rprItems.DataBind();
}
感谢任何指导。
【问题讨论】:
-
您可以将目前的代码添加到问题中吗?
-
觉得没有必要,因为它是通用的。现在添加...
-
这是一个可能对你有帮助的链接social.msdn.microsoft.com/Forums/en-US/…
-
这不是您从 SQL 中引入的 NewID() 列的重点吗?你不是在SQL语句中按那个排序来随机化行顺序吗?
-
文森特詹姆斯是和不是。这确实使它随机化,但就像我说的那样,我正在缓存数据,所以它只是每 5 分钟随机一次。每次设置数据源时,我都需要它是随机的。
标签: c# datatable datasource repeater