جا به جایی بین رکوردها در DataGrid در WPF و نمایش در اطلاعات تکست باکس
با سلام خدمت مهندسان عزیز
من یک پروژه wpf سی شارپ استفاده میکنم
یک فرم دارم که توی اون اطلاعات رو از دیتابیس نشون میده توی تکست باکس
میخوام با استفاده از یکسری دکمه بتونم بین رکورد های جدول از SQL Server جا به جا بشم و اون ها رو توی TextBox نشون بدم
مثل این عکس
با روش Entityframwork هم به دیتابیس وصلم
این هم کد من :
var qreliststuf = dbms.Database.SqlQuery<MyTable>("Select * From MyTable");
foreach (var tbl in qreliststuf)
{
texb_codekala.Text = tbl.CODE.ToString();
texb_namekala.Text = tbl.NAM.ToString();
texb_barcode.Text = tbl.N_FANI.ToString();
}
لطفا راهنمایی بفرمایید باتشکر
این یک کار انجام شده که من باید عین این توی WPF انجام بدم
پاسخ هوش مصنوعی
برای جا به جایی بین رکوردها در DataGrid و نمایش اطلاعات مربوط به هر رکورد در TextBox ها در WPF، شما می توانید از یک لیست برای ذخیره کردن رکوردها استفاده کنید و از یک ایندکس برای نشان دادن رکورد جاری بهره ببرید.
در ادامه یک نمونه کد برای این کار ارایه می شود:
private List records;
private int currentIndex = 0;
private void LoadData()
{
records = dbms.Database.SqlQuery("Select * From MyTable").ToList();
DisplayCurrentRecord();
}
private void DisplayCurrentRecord()
{
if (records.Count > 0 && currentIndex >= 0 && currentIndex < records.Count)
{
texb_codekala.Text = records[currentIndex].CODE.ToString();
texb_namekala.Text = records[currentIndex].NAM.ToString();
texb_barcode.Text = records[currentIndex].N_FANI.ToString();
}
}
private void btnNext_Click(object sender, RoutedEventArgs e)
{
if (currentIndex < records.Count - 1)
{
currentIndex++;
DisplayCurrentRecord();
}
}
private void btnPrevious_Click(object sender, RoutedEventArgs e)
{
if (currentIndex > 0)
{
currentIndex--;
DisplayCurrentRecord();
}
}
در کد بالا:
- ابتدا داده ها از دیتابیس بارگذاری می شوند و در لیست `records` ذخیره می شوند.
- اسکریپت `DisplayCurrentRecord` برای نمایش رکورد جاری در TextBox ها استفاده می شود.
- دکمه های "بعدی" و "قبلی" ایندکس رکورد جاری را تغییر می دهند و رکورد مربوطه را نمایش می دهند.
فراموش نکنید که دکمه ها باید به متدهای `btnNext_Click` و `btnPrevious_Click` متصل شده باشند تا عملکرد لازم را داشته باشند.
شما کافیه در رویداد SelectedCellsChanged دستورات خودتون رو بنویسید. در این صورت به محض اینکه یک ردیف دیگه انتخاب بشه این رویداد اجرا میشه
<DataGrid x:Name="dataGrid_customer" SelectedCellsChanged="dataGrid_customer_SelectedCellsChanged"></DataGrid>
حالا در بخش CodeBehind هم میتونید به راحتی دستور زیر رو بنویسید :
private void dataGrid_customer_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
MessageBox.Show("salam");
}
الان هر ردیفی که انتخاب بشه یک پیام نمایش داده میشه. شما میتونید به جای این پیام دستورات خودتون رو بنویسید.
به این قابلیت Data Reader گفته میشه. شما باید توی گوگل سرچ کنید نحوه فعال کردن Data Reader در WPF به چه صورتی هست.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf