PDA

View Full Version : جمع زدن چند ستون در یک سطر در GridView



kh1387
جمعه 18 مهر 1393, 16:18 عصر
یه GridView دارم که لیست نمرات دروس یک دانشجو رو نمایش می ده.
مثلاً
مهندسی نرم افزار | 6 | 5 | 3 |
این چهار ستون داره.
حالا میخوام یک فیلد تمپلیت بذارم که سه سطر مجاورش رو برام جمع بزنه. نمی دونم با دستور Eval میشه اینکار رو کرد یا نه؟ البته با Eval کار کردم و دوتا ستون رو جمع زدم الحاق رشته ای بود وقتی هم خواستم به صحیح تبدیل کنم نشد و خطا گرفت.
ممنون می شم کسی راهنمایی کنه.

sun2rise
جمعه 18 مهر 1393, 16:50 عصر
باید از متد sum در sql server استفاده کنی و نتایج رو داخل یک کنترل بریزی

kh1387
جمعه 18 مهر 1393, 18:49 عصر
دوست عزیز دستوری که فرمودید برای جمع مقادیر یک ستون است نه مقادیر چند ستون در یک ردیف!

shahram hosseini
جمعه 18 مهر 1393, 21:47 عصر
متد sum که دوستمون گفتند درسته.شما در انتها از where هم استفاده کن.یعنی شرط را روی اون سطر بزار.

kh1387
شنبه 19 مهر 1393, 00:24 صبح
متد sum که دوستمون گفتند درسته.شما در انتها از where هم استفاده کن.یعنی شرط را روی اون سطر بزار.
میشه مثال بزنید!!!

sara_aryanfar
شنبه 19 مهر 1393, 00:43 صبح
خب آخر کوئری خودتون یه شرط میزارید که سطری رو برگردون که مقدار فلان فیلدش "مهندسی نرم افزار" باشه

shahram hosseini
شنبه 19 مهر 1393, 10:09 صبح
این هم مثال :

SELECT sum(field2+ field3+ field4) FROM Table1
where field1 like N'مهندسی نرم افزار'

majidnazari65
شنبه 19 مهر 1393, 10:45 صبح
سلام دوست عزیز.
شما یا در کوئری سه تا فیلد رو با هم جمع بزنید مثل کد زیر:

SELECT field1, field2, field3, field1+field2+field3 AS SumColumn from TableName


یا اینکه از همون دستور Eval استفاده کنید. البته در تبدیل به عدد صحیح باید مطمئن باشید که مقادیر null نیستن و قابل تبدیل به عدد هستن (null بودن رو میشه با عملگر ?? چک کرد):

<%# Convert.ToInt32((Eval("field1")??"0").Tostring()) + Convert.ToInt32((Eval("field2")??"0").Tostring()) %>