تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال عن كيفية تحديد قيمة عمود في السطر المحدد في datagrid مع تقنية wpf
#1
السلام عليكم

سؤال عن كيفية تحديد قيمة عمود في السطر المحدد في datagrid مع تقنية wpf

اي اقوم بتحديد سطر من datagrid بالماوس فتعرض قيمة الحقل قي textbox
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

كل المر عليك فعل التالى
فى حدث dataGridView1_CellClick
طبق الكود مثل التالى
كود :
textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

تذكر 0 الموجود بالكود هو رقم العمود 
حيث ان ترتيب العد يبداء من صفر

كرر الامر لباقى الاعمدة

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: ابو روضة
#3
شكرا اخي لكن انا عمل على wpf و ليس winForm
الرد
تم الشكر بواسطة: elgokr , elgokr
#4
الشكر لله

فعفواً اخى يبدو اننى سهو لم انتبه
واستعجال بالرد فقط

بخصوص التعامل مع WPF
كل ما عليك فى حدث dataGrid1_SelectionChanged
استخدم الكود كما يلي
كود :
           DataGrid dg = (DataGrid)sender;
           DataRowView row_select = dg.SelectedItem as DataRowView;

           if (row_select != null)
           {
               textBox.Text = row_select[0].ToString();
           }

لا تنسي استدعاء الكود التالى
كود :
using System.Data;

تذكر ان 0 هو رقم العمود يمكنك استبداله بـ "name" وهو اسم كل عمود
كرر السطر التالى 
كود :
               textBox.Text = row_select[0].ToString();

ليصبح مثل هذا الشكل
كود :
               idBox.Text = row_select[0].ToString();
               nameBox.Text = row_select[1].ToString();
               dateBox.Text = row_select[2].ToString();
               noteBox.Text = row_select[3].ToString();


تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:
#5
لقد جربت هذه الطريقة من قبل و لم تنح معي علما اتبعت كل الخطوات التي دكرت و التي شاهدتها في احد الفيديوهات

علما DataGrid تاخد البيانات من الكلاس بطريقة entity framework
الرد
تم الشكر بواسطة:
#6
وجدت هذا الكود لكنه طويل


كود :
                  DataGrid dataGrid = sender as DataGrid;


               DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(dataGrid.SelectedIndex);
               DataGridCell RowNome = dataGrid.Columns[0].GetCellContent(row).Parent as DataGridCell;
               string nomeValue = ((TextBlock)RowNome.Content).Text;
   textBox.Text = nomeValue;
الرد
تم الشكر بواسطة:
#7
طيب بلاش الكود الطويل واستخدم الكود التالى بهذا الشكل

فى حدث dataGrid1_SelectionChanged
كود :
           DataGridCellInfo Select = dataGrid1.SelectedCells[0];
           textBox.Text = ((TextBlock)Select.Column.GetCellContent(Select.Item)).Text;

اعتقد الان الكود اصبح ابسط وافضل بكثير 
وكل ما عليك هو تغيير 0 كما سبق وشرحه

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:
#8
بارك الله فيك
الرد
تم الشكر بواسطة: elgokr
#9
(27-08-18, 05:52 PM)younass كتب : بارك الله فيك


ولك بالمثل اخى younass


تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم