将数据列表拆分为多个部分
在我的数据列表中,当发生不同的年份时,我想创建一个分隔符,将每个 ItemTemplate
与新的年份分开。
我使用以下方式选择数据:
MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM code_post", dbcon);
在该字段中,日期
表示其创建年份。例如2011年、2010年、2009年。
当发生不同的年份时,如何为新年划分标题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
截至目前,数据处于平面层次结构中,即类似于
List
的形式。您可以使用 Linq 或 for 循环将其放入Dictionary>
中,其中字典键中的每个条目将是年份值,值将是该年份的数据对象列表年。您的转发器内部应该有一个转发器,然后将此 Dictionary 对象绑定到外部转发器,并且内部转发器数据源应该是 DataItem.Value (即绑定到外部转发器数据项的当前 KeyValue 对的 Value 部分)。这不是您可以直接复制/粘贴的答案,但我希望您明白
As of now the data is in a flat hierarchy i.e something like
List<DataObject>
. You can use Linq or for-loops to make it inDictionary<int,List<DataObject>>
where each entry in the dictionary key will be year value and the Value will be List of Dataobject for that year. Than your repeater should have a repeater inside it and then bind this Dictionary object to the outer repeater and the inner repeater data source should be DataItem.Value (i.e the Value part of the current KeyValue pair which is bound to outer repeater data item).This is not a answer will you can directly copy/paste but I hope you got the idea
我也遇到过这样的情况。
我所做的是......
我拿了一个中继器并从数据库中获取了
DISTINCT
Years。获取一个
HiddenField
并将年份与
中的DataList
一起保存在其中。然后使用 Repeater 的
ItemDataBound
,我首先搜索DataList
和HiddenField
并将该DataList
与另一种方法绑定从HiddenField
传递年份。OnitemDataBound的使用
唯一的缺点是对数据库有多次往返(不同年份的数量=对数据库的旅行次数)。
I too had an encounter with such a situation.
What i did was...
I took a repeater and fetched the
DISTINCT
Years from the database.Take a
HiddenField
and save the year inside like this along with theDataList
inside your<ItemTemplate>
.Then using the Repeater's
ItemDataBound
, i first searched for theDataList
andHiddenField
and binded thatDataList
with another method by passing the year from theHiddenField
.OnitemDataBound use
The only drawback in this is that there are multiple round trips to the database(number of distinct years=number of trips to database).
我解决这个问题的方法是通过一次数据库访问,并
在我所做的项目模板中包含诸如 和 之
类的代码。这允许一次访问数据库,并且比之前建议的方法更加高效/灵活
The way I solved this was by making one trip to the database, and having the code such as
and inside the item template i did
This allows for one trip to the DB, and is far more efficent/flexible than the previously suggest methods