السلام عليكم
سؤال عن كيفية تحديد قيمة عمود في السطر المحدد في 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();
}
لا تنسي استدعاء الكود التالى
تذكر ان
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
طيب بلاش الكود الطويل واستخدم الكود التالى بهذا الشكل
فى حدث
dataGrid1_SelectionChanged
كود :
DataGridCellInfo Select = dataGrid1.SelectedCells[0];
textBox.Text = ((TextBlock)Select.Column.GetCellContent(Select.Item)).Text;
اعتقد الان الكود اصبح ابسط وافضل بكثير
وكل ما عليك هو تغيير 0 كما سبق وشرحه
تحياتى لك
وتمنياتى لك التوفيق