پرش به محتوای اصلی

نمونه کد جمع کردن یک ستون گرید

نمونه کد جمع کردن

شرح صورت مسئله

زمانی نیاز است جمع مقادیر یک ستون در جدول محاسبه شود و روی فرم درون یک فیلد نمایش داده شود.

برای مثال جدول کالا شامل لیست نام و قیمت یک سری کالا است و می‌خواهیم که در فرم بعدی درون یک فیلد مقدار جمع قیمت کالاها را نمایش دهیم.

نمونه کد جمع کردن

می‌توانیم از کد زیر درون یک فعالیت-کدنویسی(ScriptTask) استفاده کنیم و در آخر نام فیلدی را که جمع مقادیر را نشان می‌دهد درون بخش پارامترهای خروجی فعالیت کدنویسی (ScriptTask) و درون بخش پارامترهای ورودی فعالیت کاربر(UserTask) بعدی تعریف کنیم. در اینجا این فیلد  DecimalTotalPrices است.

نمونه کد مجموع قیمت

 

نمونه کد پارامترهای خروجی

using System;

using System.Data;

using System.Data.SqlClient;

using Chargoon.Didgah.BPMS.CommonApi;

namespace Chargoon.Didgah.BPMS.Runtime

} public class ScriptTask : IScriptTask

    }public IExecution Execution { get; set; }

        public void Execute()

        {

//تعریف متغییر sum که  قرار است در آن جمع مقادیر ریخته شود.//

           Decimal sum=0.0m;

// اتصال به دیتا بیس.   BPMSConnectionنام رشته اتصال میباشد.//

           SqlConnection conn=new

           SqlConnection(Execution.GetConnectionString(“BPMSConnection”));

           SqlCommand cmd = new SqlCommand();

           cmd.Connection = conn;

           cmd.CommandType = CommandType.Text;

// کوئری SQL که در آن با استفاده از دستور SUM(Column name) جمع ستون مورد نظر را بدست میاوریم. //

// به جای Column name  نام ستون موردنظر جدول  باید درج شود.//

cmd.CommandText = @”SELECT  SUM(Column name)

FROM bpm_SumColDataModel_Extra_GridField

WHERE ParentGuid = @BusinessKey”;

// طبق شرط WHERE ParentGuid = @BusinessKey، مقداردهی @BusinessKey به صورت  زیر است تا

همان بخش از جدول  در نمونه فعلی فرایند انتخاب شود.//

cmd.Parameters.AddWithValue(“@BusinessKey”,Execution.GuidValue(“___BusinessKey”));

                conn.Open();

// خروجی کوئری را تبدیل به نوع داده عدد اعشاری میکنیم.//

                sum = Convert.ToDecimal(cmd.ExecuteScalar());

                conn.Close();

// متغییر sumرا درون فیلد مجموع قیمت که روی فرم قرار دارد میریزیم DecimalTotalPrices.//

                Execution.SetVariable(“DecimalTotalPrices”,sum);

                }

            }

        }

    }


[ratemypost]