首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VB.NET中继器按月分组

VB.NET中继器按月分组
EN

Stack Overflow用户
提问于 2012-01-19 05:31:23
回答 2查看 391关注 0票数 0

我的中继器在SQL Server数据库中搜索日期,并返回每个月的前3个字母。有没有办法让中继器显示成我想要的样子?

代码语言:javascript
运行
复制
<asp:repeater id="rptLetters" runat="server" datasourceid="dsLetters">
<headertemplate>
|
</headertemplate>
<itemtemplate>
<asp:linkbutton id="btnLetter" runat="server" onclick="btnLetter_Click" text='<%#Eval("Letter")%>' />
</itemtemplate>

<separatortemplate>
|
</separatortemplate>
</asp:repeater>

 <asp:DropDownList ID="ddlLetters" runat="server" Visible="False"  DataSourceID="dsLetters">
</asp:DropDownList>

<asp:sqldatasource id="dsLetters" runat="server" connectionstring="<%$  
 ConnectionStrings:ProductsConnectionString %>"  
   selectcommand="SELECT DISTINCT LEFT       
   (p.LaunchDate, 3) AS [Letter] 
   FROM Product p, Category c 
   WHERE c.ParentID = 37 
   AND p.LaunchDate IS NOT NULL">
</asp:sqldatasource>

显示为:所有|4月|8月|12月|2月|1月|7月|6月|3月|5月|11月|10月|9月

想要:所有|1月|2月|3月|4月|5月|6月|7月|8月|9月|10月|11月|12月

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-21 03:14:51

我放弃了中继器的想法,只是使用链接按钮来列出月份。然后,我的SQL查询将根据单击的月份查找结果。

代码语言:javascript
运行
复制
<asp:linkbutton id="btnAll" runat="server" text="ALL" onclick="btnAll_Click" /> |
<asp:linkbutton id="btnJan" runat="server" text="Jan" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnFeb" runat="server" text="Feb" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnMar" runat="server" text="Mar" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnApr" runat="server" text="Apr" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnMay" runat="server" text="May" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnJune" runat="server" text="June" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnJuly" runat="server" text="July" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnAug" runat="server" text="Aug" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnSep" runat="server" text="Sep" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnOct" runat="server" text="Oct" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnNov" runat="server" text="Nov" onclick="btnMonths_Click" /> |
<asp:linkbutton id="btnDec" runat="server" text="Dec" onclick="btnMonths_Click" />



SELECT p.ProductID, p.ProductName, p.LaunchDate 
FROM Product p JOIN CategoryLink l 
ON p.ProductID = l.ProductID 
JOIN Category c ON c.CategoryID = l.CategoryID 
WHERE(p.LaunchDate LIKE '{0}%') 
AND c.ParentID = '37' 
AND p.ProductName IS NOT NULL 
ORDER BY Month(p.LaunchDate), Day(p.LaunchDate)
票数 0
EN

Stack Overflow用户

发布于 2012-01-19 06:15:34

尽管上面建议不要这样做,但这演示了如何处理在提取distinct之前对依赖项进行排序的需求:

代码语言:javascript
运行
复制
select distinct left(launchdate,3) as Abbreviated from
(   select * from product 
    where launchdate is not null order by month(launchdate) asc) p,     
category c where c.parentid=@ParentId 

对于这种特殊情况,您不应该使用查询来提取月份缩写,假设默认的日期到字符串转换将使您的左3个字符成为准确的月份缩写。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8917753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档