اذهب إلى المحتوى

السؤال

نشر

لدي دالة تالية لعرض بيانات لماذا عند الضغط علي زر لاتظهر بيانات 

 public void show_recored_date(DataGridView dataGridView)
        {
            if (dataGridView.CurrentRow == null)
            {
                MessageBox.Show("الرجاء تحديد صف في الجدول لعرض البيانات.");
                return;
            }

            string item_code_ = Convert.ToString(dataGridView.CurrentRow.Cells[2].Value);
            string sql = "select * from items where item_code = N'" + item_code_ + "'";

            SqlDataAdapter adp = new SqlDataAdapter(sql, Class1.sqlCon);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            DataTable dt = ds.Tables[0];
            if (dt.Rows.Count == 0)
            {
                MessageBox.Show("لم يتم العثور علي بيانات السجل ", "رسالة تنبيه");
            }
            else
            {
                DataRow dr = dt.Rows[0];
              item_code.Text=  dr["item_code"].ToString();
                item_name.Text = dr["item_name"].ToString();
                item_date.Text = dr["item_date"].ToString();
                item_price.Text = dr["item_price"].ToString();
                item_qty.Text = dr["item_qty"].ToString();
                SqlCommandBuilder cmd = new SqlCommandBuilder(adp);
                adp.Update(dt);
                
            }
        }

كود استدعاء 

 items frm = new items();
            frm.show_recored_date(dataGridView1);
            this.Dispose();

 

Recommended Posts

  • 0
نشر

ما الغرض من الكود؟ حاليًا أنت تقوم بإنشاء نموذج جديد دونّ عرضه، كذلك الدالة بها منطق خاص بملء حقول نصية (item_code.Text, item_name.Text, وخلافه، وتلك الحقول يجب أن تكون موجودة في النموذج الجديد.

عامًة قم بعرض النموذج الجديد

items frm = new items();
frm.show_recored_date(dataGridView1);

frm.Show(); 
this.Close(); 

أو قم باستخدام النموذج الحالي، لو الحقول في نفس النموذج حيث لا يجب إنشاء نسخة جديدة، من خلال حذف Dispose():

this.show_recored_date(dataGridView1);

لو استمرت المشكلة حاول تمرير البيانات بشكل أفضل كالتالي:

public void show_recored_date(DataGridView dataGridView, items targetForm)
{
    if (dataGridView.CurrentRow == null)
    {
        MessageBox.Show("الرجاء تحديد صف في الجدول لعرض البيانات.");
        return;
    }

    string item_code_ = Convert.ToString(dataGridView.CurrentRow.Cells[2].Value);
    string sql = "select * from items where item_code = @itemCode";

    using (SqlCommand cmd = new SqlCommand(sql, Class1.sqlCon))
    {
        cmd.Parameters.AddWithValue("@itemCode", item_code_);
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adp.Fill(dt);

        if (dt.Rows.Count == 0)
        {
            MessageBox.Show("لم يتم العثور على بيانات السجل", "رسالة تنبيه");
        }
        else
        {
            DataRow dr = dt.Rows[0];
            targetForm.item_code.Text = dr["item_code"].ToString();
            targetForm.item_name.Text = dr["item_name"].ToString();
            targetForm.item_date.Text = dr["item_date"].ToString();
            targetForm.item_price.Text = dr["item_price"].ToString();
            targetForm.item_qty.Text = dr["item_qty"].ToString();
        }
    }
}

والاستدعاء:

items frm = new items();
show_recored_date(dataGridView1, frm);

frm.ShowDialog();
this.Close();

 

  • 0
نشر
بتاريخ On 9‏/7‏/2025 at 19:41 قال ايمن ميلاد:

اخي لايعمل كود انا عندما اضغط علي كليك يتم استدعاء دالة لماذا لاتظهر بيانات 

يجب توضيح ما الذي تحاول تنفيذه للحصول على إجابة مفيدة، حاليًا ما هو المشروع وما هي المشكلة بالضبط، ولو فرت مجلد المشروع أو الملفات لكان أفضل

  • 0
نشر (معدل)

لدي form به حقول إدخال وعليه ازرار إضافة تعديل بحث تمام عندما انقر علي زر بحث تظهر form به أصناف 

عندما اضغط علي اي صف اريد تعديله عرض تفاصيل لايظهر في مربعات textbox  دالة التي فوق لماذا لاتعرض بيانات في مربعات نصوص texbox هادي هيا مشكله 

تم التعديل في بواسطة ايمن ميلاد

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...