मैं कन्स्ट्रक्टर के माध्यम से ग्राहकों की एक सूची पास कर रहा हूं। फिर यह एक सूची बॉक्स के लिए डेटाबेस है। मैंने ग्राहक के नाम को बदलने की अनुमति देने के लिए टेक्स्टबॉक्स को भी डाटाबेस किया है, यह स्वचालित रूप से सूची बॉक्स और ग्राहक सूची अपडेट करता है, जो वास्तव में अच्छा है।डाटाबेसिंग के माध्यम से किए गए परिवर्तनों को कैसे रद्द करें?
हालांकि, यदि मैं रद्द बटन पर क्लिक करता हूं तो मैं परिवर्तनों को बनाए रखना नहीं चाहता हूं। मैं प्रोग्राम को पुरानी सूची में ग्राहकों की सूची सेट करने के लिए कह रहा हूं, लेकिन यह काम नहीं करता है, जब मैं विंडो को फिर से खोलता हूं तो सूची बॉक्स पुराने नाम होने के बजाय अद्यतन ग्राहक नाम दिखाता है।
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Collections.Generic;
namespace Bingding_Test
{
public partial class Form_Customers : Form
{
List<Customer> customers;
List<Customer> old_customers;
BindingSource bs = new BindingSource();
public Form_Actors(List<Customer> _customers)
{
InitializeComponent();
customers = _customers;
old_customers = new List<Customer>(_customers);
bs.DataSource = customers;
listBox1.DataSource = bs;
listBox1.DisplayMember = "Name";
txtb_name.DataBindings.Add("Text", bs, "Name");
}
void Btn_cancelClick(object sender, EventArgs e)
{
actors = old_customers;
this.Close();
}
void Btn_saveClick(object sender, EventArgs e)
{
this.Close();
}
}
}
किसी को भी पता है कि मुझे यकीन है कि सभी परिवर्तनों को सहेजा नहीं कर रहे हैं बनाने के लिए क्या कर सकते हैं जब मैं रद्द बटन पर क्लिक करें?
जब आप मैन्युअल रूप से बाध्य कहते हैं, तो क्या आपका मतलब डाटाबेसिंग का उपयोग नहीं करना है? उदाहरण के लिए -> textBox1.Text = variable.strName। – TheScholar
@TheScholar: ऐसा लगता है कि मैं गलत था, यानी आप डेटा बाइंडिंग के साथ रद्दीकरण को कार्यान्वित कर सकते हैं - मेरा संपादन देखें। – Neolisk
धन्यवाद Neolisk! मैं इसका विश्लेषण करूंगा और देख सकता हूं कि यह मेरी समस्या हल करता है: डी – TheScholar