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

سؤال عن تحميل البيانات في Datagrid

بدأه fota.live في 21 مارس 2009 · 10 رد · 978 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام لكم

انا اعملت برنامج و ربطو في داتا اكسس

المشكله تكمن كالتالي 

لما احفظ البيانات المدخلة ما بتظهر بالداتا جريد الا بعد ما اطفي البرنامج و ارجع اشغلو بلاقي البيانات الى اعملتلها انسيرت موجوده 

كيف اخلي البيانات تظهر على طول على الجريد

اعملت رفرفش للداتا جريد بس ما زبط برضو

شكرا 

post-170079-1237623349_thumb.png

WindowsFormsApplication4.rar

تم تعديل هذه المشاركة بواسطة fota.live في 21 مارس 2009 في 11:20

FOTA KHader FAR

سوف اتجة الى عالم الويب

thumb_kujviv1t1.jpg

#2

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

attachicon.gifالكتابة والتعديل في DataGrid

#3

استخدم timer وضع فيه الكود الذي يجلب البيانات من قاعدة البيانات الخاصة بك,,

52gv0m.gif
#4

جربت برضو على الفاضي ما زبط معى

FOTA KHader FAR

سوف اتجة الى عالم الويب

thumb_kujviv1t1.jpg

#5

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

اخي ، الـ DataGridView يعرض البيانات من الجدول DataTable في الفورم (بالأصح db1DataSet.TableHome)،

طيب انت مستخدم هذا الكود في زر الإضافة:

string sql = "insert into TableHome (id,Name,Phone) values (" + textBox1.Text + " ,'" + textBox2.Text + "','" + textBox3.Text + "')";
				tableHomeDataGridView.RefreshEdit();

				cmd.CommandText = sql;
				cmd.ExecuteNonQuery();

يعني انك بتضيف الصف في قاعدة البيانات مباشرة بدون ما تضيفه إلى db1DataSet.TableHome في الفورم، علشان هذا السبب ما يظهر في DataGridView.

والحل هو نعدل ، بحيث نضيف الصف في الجدول اولاً :

this.db1DataSet.TableHome.AddTableHomeRow(int.Parse(textBox1.Text), textBox2.Text, textBox3.Text);

وبعدين نضيفه في قاعدة البيانات:

this.tableHomeTableAdapter.Update(this.db1DataSet.TableHome);

يعني في الأخير الكود يصبح هكذا:

private void button1_Click(object sender, EventArgs e)
		{

			try
			{
				this.db1DataSet.TableHome.AddTableHomeRow(int.Parse(textBox1.Text), textBox2.Text, textBox3.Text);
				this.tableHomeTableAdapter.Update(this.db1DataSet.TableHome);
			}
			catch (Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#6

مشكور اخي زبط 100%

كنت اعملها على sql نفس الطريقه

بس ما فكرت الاكسس متل هيك

مشكور مرا اخري

FOTA KHader FAR

سوف اتجة الى عالم الويب

thumb_kujviv1t1.jpg

#7

بقي لدي مشكله لكن استغرب

عند عمل حذف للحقل يحذف لكن عندما ارجع اشغل البرنامج مرا اخري القي البيانات كما هي في الداتا جريد فقط يحذف من الجريد فيو لكن ما يحذف من قاعدة البيانات

هذا كود الحذف

private void button3_Click(object sender, EventArgs e)
        {
            bool isOK = false;
            for (int i = 0; i < database4DataSet.Table1.Rows.Count; i++)
            {
                if (string.Equals(database4DataSet.Table1[0].ToString(), textBox1.Text))
                {
                    try
                    {

                        
                        this.database4DataSet.Table1.RemoveTable1Row( database4DataSet.Table1);
                     
                      
                        
                        isOK = true;
                        break;
                    }
                    catch (Exception ex)
                    {
                        isOK = false;
                        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

            if (isOK)
            {
                MessageBox.Show("Success !", "com", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Employee was not found !", "com", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

WindowsFormsApplication6.rar

تم تعديل هذه المشاركة بواسطة fota.live في 25 مارس 2009 في 05:22

FOTA KHader FAR

سوف اتجة الى عالم الويب

thumb_kujviv1t1.jpg

#8

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

جرب :

private void button3_Click(object sender, EventArgs e)
		{
			bool isOK = false;
			for (int i = 0; i < database4DataSet.Table1.Rows.Count; i++)
			{
				if (string.Equals(database4DataSet.Table1[0].ToString(), textBox1.Text))
				{
					try
					{

database4DataSet.Table1);
						database4DataSet.Table1.Delete();
						this.table1TableAdapter.Update(this.database4DataSet.Table1);
						isOK = true;
						break;
					}
					catch (Exception ex)
					{
						isOK = false;
						MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
					}
				}
			}

			if (isOK)
			{
				MessageBox.Show("Success !", "com", MessageBoxButtons.OK, MessageBoxIcon.Information);
			}
			else
			{
				MessageBox.Show("Employee was not found !", "com", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
			}
		}

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#9

أفضل ان يكتب المستخدم البيانات في ال تكست و تظهر على الجريد فيو يعني انا ماخد الجريد فيو لعرض عمليات الاضافة و الحذف

FOTA KHader FAR

سوف اتجة الى عالم الويب

thumb_kujviv1t1.jpg

#10

مشكور اخي والله ما قصرت

ربنا يفتحها فى وجهك الى الامام

FOTA KHader FAR

سوف اتجة الى عالم الويب

thumb_kujviv1t1.jpg

#11

العفو اخي،

لكن لماذا لا تستخدم DataGridView مباشرة بدون TextBoxes ؟

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

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