PDA

View Full Version : نگهداشتن سابقه اعداد تایپ شده در تک باکس



hadi46
سه شنبه 23 اردیبهشت 1393, 18:47 عصر
با سلام خدمت دوستان در یک برنامه ویندوزی
فرض کنید فرمی داریم که حاوی چندین تکس باکس هست در زمان اجرا فرم را چندین بار پر و اطلاعات را ثبت می نماییم.در صورتی که فرم را ببندیم می خواهیم برای پر کردن فرم در هر تکس باکس بتونیم مقادیر قبلی رو به کاربر نمایش بدهیم مثل صفحات وب.

من این کار رو با combobox و تنظیم datasource با جدول مورد نظر انجام دادم ولی با انتخاب یک مقدار در هر کدام از combها مقادیر combo های دیگه نیز تغییر میکنه (رکورد همان ردیف رو نمایش میدهد)
دوستان لطفا راهنمایی نمایید؟

parvizwpf
سه شنبه 23 اردیبهشت 1393, 22:17 عصر
اگه بتوانید کد بزارید بهتر میشه تشخیص داد.

khokhan
سه شنبه 23 اردیبهشت 1393, 22:46 عصر
با سلام خدمت دوستان در یک برنامه ویندوزی
فرض کنید فرمی داریم که حاوی چندین تکس باکس هست در زمان اجرا فرم را چندین بار پر و اطلاعات را ثبت می نماییم.در صورتی که فرم را ببندیم می خواهیم برای پر کردن فرم در هر تکس باکس بتونیم مقادیر قبلی رو به کاربر نمایش بدهیم مثل صفحات وب.

من این کار رو با combobox و تنظیم datasource با جدول مورد نظر انجام دادم ولی با انتخاب یک مقدار در هر کدام از combها مقادیر combo های دیگه نیز تغییر میکنه (رکورد همان ردیف رو نمایش میدهد)
دوستان لطفا راهنمایی نمایید؟
می تونین کمبوباکسها تون رو Autocomplet ذرست کنین که به محض تایپ اولین حرف کلمات مشابه رو براتون توی هر کمبو پیشنهاد کنه :


try
{
string Query = "select stuff_name from dbo.stuff";
string[] names = GetColumnData_FromDB(Query);

comboName.AutoCompleteMode = AutoCompleteMode.Suggest;
comboName.AutoCompleteSource = AutoCompleteSource.CustomSource;
AutoCompleteStringCollection x = new AutoCompleteStringCollection();
if (names != null && names.Length > 0)
foreach (string s in names)
x.Add(s);

comboName.AutoCompleteCustomSource = x;
}
catch (Exception ex)
{
}
finally
{
}

hadi46
چهارشنبه 24 اردیبهشت 1393, 17:36 عصر
ممنون از پاسخ دهی شما دوست گرامی
چون تمام فیلدها مربوط به یک جدول می باشد من با یک کوئری داخل دیتاتیبل قراردادم و حدود 10 تا combobox که از طریق پروپرتی display member هر کدوم گفتم کدوم فیلد رو نمایش بده مشکل اینجاست وقتی کاربر مقدار دلخواه از یک combobox v رو انتخاب میکنه روی بقیه تاثیر میزاره و مقادیر بقیه هم عوض میشه یعنی رکوردی نشان میدهد .نمیخوام برای هر combo کوئری جداگونه بنویسم دنبال راه حل بهتری هستم
کد نمونه

private void button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Rows.Add(1, "ali");
dt.Rows.Add(2, "javad");
dt.Rows.Add(3, "hadi");
comboBox2.DisplayMember = "ID";
comboBox3.DisplayMember = "Name";
comboBox2.DataSource = dt;
comboBox3.DataSource = dt;

}

parvizwpf
چهارشنبه 24 اردیبهشت 1393, 23:47 عصر
اشتباه شما دقیقا همینه که دو تا کامبو رو به یک منبع ارجاع دادید این کار غلطه .تغییر تو ی یکی باعث تغییر در دیگری میشه. از هم جدا کنید.

hadi46
پنج شنبه 25 اردیبهشت 1393, 08:34 صبح
با سلام
راه حلی برای این کار دارید؟