在数据库中有用户表(userid,username,sex),username存储的是中文名字,在界面上我用的是listview显示(当然用什么显示不是重点,对了,数据时放在dataset中的),现在我界面上有个功能按钮就是分组显示,包括按姓名分组,和 按性别分组,按性别分组就不用说了,按姓名分组想要达到的效果是:当用户点击了该按钮之后,在listview中会把姓氏相同的名字放在一起,而且姓氏排序按照姓氏拼音的首字母的E文顺序来排,小弟想向大家请教此算法思路,希望给指点一下,定会高分相赠!拜谢...........
解决方案 »
- 我想C#实现端口复用,百度上的根本就不好使。
- 如何做一个分组工具栏(形如VS2005右侧的工具箱)?
- C#中如何像VB那样用ClipBoard.getString可以得到复制的文本?
- 请教如何用session取得当前的登录用户名??
- “逗号”“句号”这样的符号用\u4e00这样的形式表示,该怎样写呀?(急,在线等)
- 有一个问题好急了各位大佬帮下吧!急了,谢谢
- 关于ComboBox控件的一个问题,请高手来解决,公司给我的时间不多了,请大家一定来帮忙,分还是可以加的!!!!关键是解决问题!!
- XSD(数据结构)生成数据文件(XML),本人不会,请高手指教
- 如何在别的机器上运行CS程序
- 请教这伪C代码怎么解读成C#
- 怎样在Combox下拉列表中添加ChcekBox复选框
- c#网站 VS上面正常浏览 IIS发布后也不可以(把VS打开就可以) 求解 不知道也帮顶下啊谢谢
http://dev.firnow.com/course/4_webprogram/asp.net/netjs/2007101/75692.html
From tb
Order By Name
Collate Chinese_PRC_Stroke_ci_as
汉字首字母查询处理用户定义函数
CREATE FUNCTION f_GetPY(@str nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @py TABLE(
ch char(1),
hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
INSERT @py SELECT 'A',N'吖',N'鏊'
UNION ALL SELECT 'B',N'八',N'簿'
UNION ALL SELECT 'C',N'嚓',N'错'
UNION ALL SELECT 'D',N'哒',N'跺'
UNION ALL SELECT 'E',N'屙',N'贰'
UNION ALL SELECT 'F',N'发',N'馥'
UNION ALL SELECT 'G',N'旮',N'过'
UNION ALL SELECT 'H',N'铪',N'蠖'
UNION ALL SELECT 'J',N'丌',N'竣'
UNION ALL SELECT 'K',N'咔',N'廓'
UNION ALL SELECT 'L',N'垃',N'雒'
UNION ALL SELECT 'M',N'妈',N'穆'
UNION ALL SELECT 'N',N'拿',N'糯'
UNION ALL SELECT 'O',N'噢',N'沤'
UNION ALL SELECT 'P',N'趴',N'曝'
UNION ALL SELECT 'Q',N'七',N'群'
UNION ALL SELECT 'R',N'蚺',N'箬'
UNION ALL SELECT 'S',N'仨',N'锁'
UNION ALL SELECT 'T',N'他',N'箨'
UNION ALL SELECT 'W',N'哇',N'鋈'
UNION ALL SELECT 'X',N'夕',N'蕈'
UNION ALL SELECT 'Y',N'丫',N'蕴'
UNION ALL SELECT 'Z',N'匝',N'做'
DECLARE @i int
SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
WHILE @i>0
SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
FROM @py
WHERE SUBSTRING(@str,@i,1) BETWEEN hz1 AND hz2
RETURN(@str)
END
GO