منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود (/showthread.php?tid=26628)



كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود - solnaif1440 - 24-09-18

السلام عليكم ورحمة الله وبركاته

أحبتي الأفاضل لدي داتا قريد فيو فيها مجموعة من البيانات ولدي أحد الأعمدة فيه خلية من الخلايا تكون فيها بيانات وفي أسفل الخلية خلايا فارغة فأريد أن يتم نسخ البيانات التي في الخلية العليا في الخلايا التي أسفل منها حتى يصل إلى خلية أخرى فيها بيانات جديدة ويقوم بنسخها في الخلايا التي أسفل منها وهكذا فيكف يتم عمل ذلك من خلال السي شارب والصورة توضح المطلوب 
مع العلم بأنني جربت من خلال هذا الكود ولكن دون جدوى
   int rowIndex = this.dataGridView1.CurrentCell.RowIndex ;
            for (int ff = 0; ff < dataGridView1.Rows.Count - 1; ff++)
            {
                  if (rowIndex > -1)
            {
                 RowCells = this.dataGridView1[24, rowIndex].FormattedValue.ToString();
                      dataGridView1.Rows[ff].Cells[24].Value = RowCells;
               }
          }


RE: كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود - 911 - 24-09-18

كود :
string v24 ="";
foreach (DataGridViewRow r in this.dataGridView1.Rows) {
   if (r.Cells[24].Value == null || r.Cells[24].Value.ToString() == "")
       r.Cells[24].Value = v24;
   v24 = r.Cells[24].Value.ToString();
}



RE: كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود - elgokr - 24-09-18

مرفق سورس + برنامج للاختبار المطلوب
السورس (2015)

الكود بداخل السورس كاملاً
عدد الادوات المستخدمة [1] dataGridView و [1] button

الكود كاملاً للسورس
كود :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DGV
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void Form1_Load(object sender, EventArgs e)
       {
           dataGridView1.ColumnCount = 4;
           dataGridView1.Columns[0].Name = "Column 01";
           dataGridView1.Columns[1].Name = "Column 02";
           dataGridView1.Columns[2].Name = "Column 03";
           dataGridView1.Columns[3].Name = "Column 04";

           String[] row;

           // Add No.1
           row = new String[] { "1", "Product 1", "1000", "Test1"};
           dataGridView1.Rows.Add(row);
           row = new String[] { "2", "Product 2", "2000",""};
           dataGridView1.Rows.Add(row);
           row = new String[] { "3", "Product 3", "3000", ""};
           dataGridView1.Rows.Add(row);
           row = new String[] { "4", "Product 4", "4000", ""};
           dataGridView1.Rows.Add(row);

           // Add No.2
           row = new String[] { "5", "Product 1", "1000", "Test2"};
           dataGridView1.Rows.Add(row);
           row = new String[] { "6", "Product 2", "2000", "" };
           dataGridView1.Rows.Add(row);
           row = new String[] { "7", "Product 3", "3000", "" };
           dataGridView1.Rows.Add(row);
           row = new String[] { "8", "Product 4", "4000", "" };
           dataGridView1.Rows.Add(row);

       }

       private void button1_Click(object sender, EventArgs e)
       {
           // الكود الذى ستقوم باستخدامه ابتداء من هنا
           // مع التوضيح -1 الموجود بالاسفل يعتمد اذا كان الداتا تقبل الاضافة
           // فى حالة لا تقبل الاضافة فيمكنك ازالة -1
           String ValTry = null;
           for (int ii = 0; ii < dataGridView1.RowCount -1; ii++)
           {
               if (string.IsNullOrEmpty(dataGridView1.Rows[ii].Cells[3].Value as string))
               {
                   dataGridView1.Rows[ii].Cells[3].Value = ValTry.ToString();
               }
               else
               {
                   ValTry = dataGridView1.Rows[ii].Cells[3].Value.ToString();
               }
           }
           // نهاية الكود هنا
       }
   }
}

تحياتى لك
وتمنياتى لك التوفيق



RE: كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود - solnaif1440 - 24-09-18

الله يسعدكم دنيا وآخرة ويبارك في عمركم 
أشكركم من الأعماق

(24-09-18, 10:02 AM)911 كتب :
كود :
string v24 ="";
foreach (DataGridViewRow r in this.dataGridView1.Rows) {
   if (r.Cells[24].Value == null || r.Cells[24].Value.ToString() == "")
       r.Cells[24].Value = v24;
   v24 = r.Cells[24].Value.ToString();
}

أسأل الله العلي العظيم أن يبارك في عمرك وأولادك وزوجتك وأن يرزقك من حيث لا تحتسب وأن يدخلك الجنة بلا حساب ولا عذاب 
مليون شكراً ما توفيك حقك


RE: كيف يمكن نسخ بيانات خلية في قريد فيو في نفس العمود - elgokr - 25-09-18

الشكر لله

تحياتى لك
وتمنياتى لك التوفيق