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

نسخة كاملة : سؤال عن كيفية تحديد قيمة عمود في السطر المحدد في datagrid مع تقنية wpf
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

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

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

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

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

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

تحياتى لك
وتمنياتى لك التوفيق
شكرا اخي لكن انا عمل على wpf و ليس winForm
الشكر لله

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

بخصوص التعامل مع 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();


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

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


كود :
                  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;
طيب بلاش الكود الطويل واستخدم الكود التالى بهذا الشكل

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

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

تحياتى لك
وتمنياتى لك التوفيق
بارك الله فيك
(27-08-18, 05:52 PM)younass كتب : [ -> ]بارك الله فيك


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


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