الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعبئة Datagridview من ملف إكسل

بدأه عماد حاج موسى في 19 يوليو 2008 · 2 رد · 734 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

لدي الأداة dataGridView وأريد أن أجعل المستخدم قادر على تعبة البيانات

من صفة إكسل بحيث ينسخ أربعة أعمدة مع عدد معين من الأسطر من ملف

إكسل ويقوم بلصق هذه البيانات داخل هذه الأداة الرجاء ذكر الطريقة المناسبة

ولكم جزيل الشكر

#2

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

بإمكانك استخدام خاصية السحب والإفلات ، حدد الأداة dataGridView1 ومن خصائصها تأكد من وضع الخاصية AllowDrop إلى True .

ثم أضف الحدث DragEnter و الحدث DragDrop والدالة NumOfChar كما هو موضح من الكود التالي وعدل ما يلزم ليناسبك :

private void dataGridView1_DragEnter(object sender, DragEventArgs e)
		{
			if (e.Data.GetDataPresent(DataFormats.Text))
			{
				e.Effect = DragDropEffects.Copy;
			}
			else
			{
				e.Effect = DragDropEffects.None;
			}
		}

		private void dataGridView1_DragDrop(object sender, DragEventArgs e)
		{			
			string t = e.Data.GetData(DataFormats.Text).ToString();			
			dataGridView1.ColumnCount = 1;
			dataGridView1.Rows.Clear();
			dataGridView1.Rows.Add(NumOfChar(t,10));

			int x = 0;
			int y = 0;

			foreach (char c in t)
			{				
				if (c == (char)13) continue;

				if (c == '\t')
				{
					x++;					
					if (x >= dataGridView1.ColumnCount) dataGridView1.ColumnCount += 1;
					continue;
				}

				if (c == '\n')
				{
					x = 0;
					y++;					
					continue;
				}

				dataGridView1.Rows[y].Cells[x].Value += c.ToString();
			}			
		}

		private int NumOfChar(string st,int n)
		{
			int u = 0;

			foreach (char c in st)
			{
				if (c == (char)n) u++;
			}

			return u;
		}

تحياتي

#3

بسم الله الرحمن الرحيم

الله يجزيك الخير أخي hfsh80 على هذا الكود

أنا مابدي خاصية السحب و الإفلات لأن المستخدم سوف ينسخ مجموعة من الأسطر من ملف اكسل ثم يلصقها في الداتا غريد...

أنا وضعت textbox و بالتالي يستطيع المستخدم لصق الأسطر ضمنها و من ثم إستخدمت الكود الذي أعطيتني إياه وجعلته ضمن button لتعبئة الداتا غريد من ال textbox ..

ومشي الحال !!

فـ لك جزيل الشكر :blush:

مواضيع مشابهة