تور لحظه آخری
امروز : یکشنبه ، 15 مهر 1403    احادیث و روایات:  امام علی (ع):عاقل‏ترين مردم كسى است كه در امور زندگيش بهتر برنامه‏ريزى كند و در اصلاح آخرتش بيشتر ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها




آمار وبسایت

 تعداد کل بازدیدها : 1821232306




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

کار با datatable -


واضح آرشیو وب فارسی:سایت ریسک: کار با datatable gordafarid 06 بهمن 1388, 15:39دو تا datatable درون حافظه دارم میخوام این دوتا را باهم join کنم ممکنه کسی کد asp.netبرام بنویسیه gordafarid 08 بهمن 1388, 10:37کسی جواب سوال منو نداد ولی خودم جوابشو پیدا کردم برای استفاده بقیه دوستان کدشو میزارم ( نام جدول اول: DataTable First نام جدول دوم :DataTable Second نام ستون جدول اول برای پیوند :fjc نام ستون جدول دوم برای پیوند:sjc) public static DataTable Join(DataTable First, DataTable Second, DataColumn[] FJC, DataColumn[] SJC) { //Create Empty Table DataTable table = new DataTable("Join"); // Use a DataSet to leverage DataRelation using (DataSet ds = new DataSet()) { //Add Copy of Tables ds.Tables.AddRange(new DataTable[] { First.Copy(), Second.Copy() }); //Identify Joining Columns from First DataColumn[] parentcolumns = new DataColumn[FJC.Length]; for (int i = 0; i < parentcolumns.Length; i++) { parentcolumns[i] = ds.Tables[0].Columns[FJC[i].ColumnName]; } //Identify Joining Columns from Second DataColumn[] childcolumns = new DataColumn[SJC.Length]; for (int i = 0; i < childcolumns.Length; i++) { childcolumns[i] = ds.Tables[1].Columns[SJC[i].ColumnName]; } //Create DataRelation DataRelation r = new DataRelation(string.Empty, parentcolumns, childcolumns, false); ds.Relations.Add(r); //Create Columns for JOIN table for (int i = 0; i < First.Columns.Count; i++) { table.Columns.Add(First.Columns[i].ColumnName, First.Columns[i].DataType); } for (int i = 0; i < Second.Columns.Count; i++) { //Beware Duplicates if (!table.Columns.Contains(Second.Columns[i].ColumnName)) table.Columns.Add(Second.Columns[i].ColumnName, Second.Columns[i].DataType); else table.Columns.Add(Second.Columns[i].ColumnName + "_Second", Second.Columns[i].DataType); } //Loop through First table table.BeginLoadData(); foreach (DataRow firstrow in ds.Tables[0].Rows) { //Get "joined" rows DataRow[] childrows = firstrow.GetChildRows(r); if (childrows != null && childrows.Length > 0) { object[] parentarray = firstrow.ItemArray; foreach (DataRow secondrow in childrows) { object[] secondarray = secondrow.ItemArray; object[] joinarray = new object[parentarray.Length + secondarray.Length]; Array.Copy(parentarray, 0, joinarray, 0, parentarray.Length); Array.Copy(secondarray, 0, joinarray, parentarray.Length, secondarray.Length); table.LoadDataRow(joinarray, true); } } } table.EndLoadData(); } return table; }




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2408]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن