انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
سلام
در دیتابیس سه فیلد دارم یکی کلید اصلی و دو فیلد معمولی
یکی از این دو فیلد معمولی را به کومبو بایند کردم و کومبو را حالتی قرار دادم که با زدن یک کاراکتر اطلاعاتی که با آن کارکتر شروع میشوند در کومبو نشان داده میشود
مثلا با زدن کارکتر س تمام رکوردهایی که با س شروع میشوند در کومبو نشان داده میشود
حالا میخخوام وقتی کاربر یکی از این رکوردهای موجود در کومبو را وقتی انتخاب کرد اون یکی دیگه فیلد معمولی که در دیتابیس هست را در بیارم
آیا اینکار شدنی است؟
کدی که برای بایند به کومبو نوشتم :
da = new SqlDataAdapter("SELECT reshte_honari FROM tbl_grouphonari", con);
da.Fill(ds, "tbl_grouphonari");
comboBox2.DataSource = ds.Tables["tbl_grouphonari"];
comboBox1.DisplayMember = "reshte_honari";
comboBox1.ValueMember = "code_reshte
"code_reshte کلید اصلی نیست
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
دوست عزيز اولش كه select شما اشتباه چون يك فيلد رو انتخاب كردين و نميتونيد code_reshte رو به ValueMember نسبت بدين بعدش هم شما بيشتر از دوتا فيلد رو نميتونيد به كامبو نسبت بديد مگر اين كه ValueMember رو كليد اصلي قرار بدين و بعد از انتخاب كاربر يك select ديگه با where بزنيد و فيلد ديگه رو كه ميخواهيد بدست بياوريد.
اگه اين نوشته به شما كمك نميكنه لطفا واضح تر توضيح بديد.
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
(CType(BindingContext(DataSource, Datamember), CurrencyManager
متد current رکورد جاری رو بر می گردونه
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول:
نوشته شده توسط
BAHAL_KEYHAN
(CType(BindingContext(DataSource, Datamember), CurrencyManager
متد current رکورد جاری رو بر می گردونه
میتونی یک کد بزاری؟
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
کدش همینه,اگه چندتا control باشه که به یه dataset روی یک form , بیند شده باشه با متد contextBinding که توسط فرم ارایه میشه می تونی به شیی curencymanager مربوط به binding دسترسی داشته باشی
اسم datatmember و datasourceto benevis جای پارامتر ها جواب می گیری
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول:
نوشته شده توسط
BAHAL_KEYHAN
کدش همینه,اگه چندتا control باشه که به یه dataset روی یک form , بیند شده باشه با متد contextBinding که توسط فرم ارایه میشه می تونی به شیی curencymanager مربوط به binding دسترسی داشته باشی
اسم datatmember و datasourceto benevis جای پارامتر ها جواب می گیری
من چیزی از حرفتون نفهمیدم لطفا کد بزارید منظورتونو بفهمم
با تشکر
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
فقط شرمنده که کد برای VB.net
Protected ReadOnly Property CurrencyManager() As CurrencyManager
Get
Return CType(BindingContext(DataSource, Datamember), CurrencyManager)
End Get
End Property
Public ReadOnly Property DataRowView() As DataRowView
Get
Dim o As Object = CurrencyManager.Current
If TypeOf o Is DataRowView Then
Return CType(o, DataRowView)
Else
Return Nothing
End If
End Get
End Property
من این یه نمونه کد رو برای برنامه ی خاصی نوشتم
تو هم می تونی با نوشتن اسم dataset به جای datasource ونام تیبلت به جای datamember,این قطعه کد رو به برنامت اضافه کنی
و هر جا که خواستی به طور مثال این جوری ازش استفاده کنی
DataRowView("code_reshte")
یا
DataRowView("reshte_honari")
در ضمن نام dataset شما ds,
table شما "tbl_grouphonari",که حتما نام table رو باید string بدی
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
دستور SELECT رو درست کنی جواب میده. ربطی نداره VALUEMEMBER کلید اصلی باشه یا نه.
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
private void comAzD_SelectedIndexChanged(object sender, EventArgs e)
{
comTaD.Items.Clear();
var a = from c in linq.TDakhelis
where c.Az==comAzD.Text
select c.Be;
foreach (string item in a)
{
comTaD.Items.Add(item);
}
}
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول:
نوشته شده توسط
BAHAL_KEYHAN
روش بهینه نیست
دوست عزیز برنامه نویسیم خوب نیست یک ورش بهینه به من یاد بدید
با تشکر
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
داری query می نویسی خب
وقتی handle دیتا رو form.BindingContextبهت بر می گردونه چه کاریه query بنویسیم
اگه پایین صفحه بری روش منو میبینی
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول:
نوشته شده توسط
BAHAL_KEYHAN
داری query می نویسی خب
وقتی handle دیتا رو form.BindingContextبهت بر می گردونه چه کاریه query بنویسیم
اگه پایین صفحه بری روش منو میبینی
پایین صفحه چیه
کجارو میگی
لطفا دقیق تر توضیحح بده
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس
نقل قول:
نوشته شده توسط
Mohandes2009
private void comAzD_SelectedIndexChanged(object sender, EventArgs e)
{
comTaD.Items.Clear();
var a = from c in linq.TDakhelis
where c.Az==comAzD.Text
select c.Be;
foreach (string item in a)
{
comTaD.Items.Add(item);
}
}
برادر من در کد نویسی ساده اش هم موندم شما با تینکیو کد میزارین؟:لبخند: ولی تشکر از اینکه به فکر بودید
نقل قول: انتخاب یک فیلد از کومبو و بدست آورن فیلد دیگر از دیتابیس