درج اطلاعات مدل داده ای پایه در گرید

طرح مسئله :

فرض کنید مدل داده ی پایه ای داریم که میخوام اطلاعات آن را در گریدی روی فرم به محض ایجاد فرم نمایش دهیم.

راه حل:

برای این منظور می بایست در مدل داده ای جدولی با ستون های مورد نیاز و هم نوع با ستون هایی که در مدل داده ای پایه تعریف کردیم ایجاد کنیم

تصویر شماره 1 مدل داده ای پایه
تصویر شماره 2 گرید ساخته شده روی فرم

بعد از ساخت جدول مورد نیاز در مدل داده ای و اضافه کردن آن به فرم، در مدل سازی فرایند قبل از مرحله ای که میخواهیم اطلاعات مدل داده ای پایه روی جدول آن مرحله نمایش داده شود، اسکریپت تسکی اضافه کرده و از کد زیر استفاده میکنیم

تصویر شماره 3
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()
        {
            using (SqlConnection conn = new SqlConnection(Execution.GetConnectionString("BPMSA203")))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = @"
             //تعریف یک جدول واسط جهت مقداردهی اولیه به همراه ستون هایی کاملاً مشابه با جدولی که قرار است مقادیر از آن گرفته شده و در جدول مورد نظر درج شود
 declare @inserted table
([Guid] uniqueidentifier
,Deleted bit
,[Column1] int
,[ProjectName] nvarchar(128)
) 
//درج در جدول ایجادشده در دیتامدل جهت نمایش اطلاعات مدل داده ای پایه
insert into   [Demo_Didgah_BPMS].[dbo].[ddm_TestMahtab2_Table1]
([Guid]
      ,[Deleted]
     ,[Column1]
     ,[ProjectName]
      )
//خروجی گرفتن از جدول واسط تعریف‌شده جهت درج در جدول
 output 
 inserted.[Guid]
 ,inserted.Deleted
 ,inserted.[Column1]
 ,inserted.[ProjectName]
  into @inserted
Select 
NEWID()
      ,0
       ,[ProjectId]
       ,[ProjectName]
  FROM [Didgah_DynamicDataModel].[dbo].[ddm_InsertGrid]

insert into  [Demo_Didgah_BPMS].[dbo].[ddm_TestMahtab2Junction] 
([RelationGuid]
,[PrimaryKey]
,[ForeignKey]
,[Deleted])
// انتخاب GUID جدول مورد نظر از جدول Relation  در دیتابیس DynamicDataModel
Select 'D9965013-A5A8-19E1-4675-DE8AE3C73688',@BusinessKey,Guid,0
 from @inserted";

                    cmd.Parameters.AddWithValue("@BusinessKey",    Execution.GuidValue("___BusinessKey"));
                  
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    conn.Close();
                    
                } 
                    }
                }
            }
            }

به همین روش درج اطلاعات مدل داده ای پایه در گرید انجام میشود.

نظرات کاربران 0 نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 × سه =