I want to sort my grid view by title of article with a dropdownlist like below picture.
I connect my grid view to a dataSqlsouce.
but it gave me this error:
Conversion failed when converting the nvarchar value “XX” to data type int.

my Sql cod in datasqlsource is:
SELECT addtitle.title,
submitmanuscript.status,
addarticletype.type,
addarticletype.username AS Expr1,
addarticletype.articletype,
submitmanuscript.date,
submitmanuscript.articlenum,
addarticletype.articleid,
CONVERT (VARCHAR(10), submitmanuscript.date, 103) AS date1,
addarticletype.checkfinish,
rolinfo.*
FROM addarticletype
INNER JOIN addtitle
ON addarticletype.articleid = addtitle.articleid
INNER JOIN submitmanuscript
ON addarticletype.articleid = submitmanuscript.articleid
INNER JOIN rolinfo
ON addarticletype.username = rolinfo.username
WHERE ( addarticletype.articleid IN (SELECT articleid
FROM addupload_4 AS AddUpload_4_1
WHERE
( addarticletype.checkfinish = '0' )) )
AND ( addarticletype.type = @Type )
ORDER BY CASE
WHEN @order = 'AddArticleType.ArticleID' THEN addarticletype.articleid
WHEN @order = 'Title' THEN CONVERT(VARCHAR, title)
WHEN @order = 'family' THEN family
WHEN @order = 'AddArticleType.ArticleType' THEN
addarticletype.articletype
END
Can any body help me?
I think the problem is in your ORDER BY CASE statement — you’re trying to sort by ints and/or nvarchars and it won’t allow for that:
See this fiddle:
http://sqlfiddle.com/#!3/db37b/1
You can resolve this by converting all sort values to nvarchar, although @Gordons answer seems more appropriate:
You probably just need to use the CONVERT on the ArticleId field, but I went ahead and put it on all the fields since I didn’t know their data types.
Good luck.