PDA

View Full Version : خواندن فیلد متناظر کمبو باکس



Yanehsar
سه شنبه 12 مهر 1390, 11:02 صبح
سلام دوستان
من کمبوباکس خودمو از بانک اطلاعاتی پر می کنم حالا میخوام وقتی کاربر یکی از اون ها رو انتخاب کرد من فیلد ID متناظر با اون رو به یه جدول دیگه از همون بانک اطلاعاتی اضافه کنم چیکار کنم تا به اون رکورد دسترسی داشته باشم این هم باید بگم که امکان داره اون کمبو باکس من تکراری داشته باشه یا داخل بانک اطلاعاتی از اون چندتا داشته باشم پس نمی تونم از شرط گذاری داخل رشته sql استفاده کنم

nilmil_nil
سه شنبه 12 مهر 1390, 11:17 صبح
سلام
این دوخط کد رو در سازند فرم یا هر جا که کامبو باکس رو پر می کنی بنویس

comboBox1.DisplayMember = "FiledName";
comboBox1.ValueMember = "FeildID";

Yanehsar
سه شنبه 12 مهر 1390, 12:27 عصر
سلام
این دوخط کد رو در سازند فرم یا هر جا که کامبو باکس رو پر می کنی بنویس

comboBox1.DisplayMember = "FiledName";
comboBox1.ValueMember = "FeildID";


سلام مرسی از راهنماییتون اما جواب نگرفتم من.این کد استفاده کردم اما صفر برگشت داد

solaleh
سه شنبه 12 مهر 1390, 13:10 عصر
سلام دوستان
من کمبوباکس خودمو از بانک اطلاعاتی پر می کنم حالا میخوام وقتی کاربر یکی از اون ها رو انتخاب کرد من فیلد ID متناظر با اون رو به یه جدول دیگه از همون بانک اطلاعاتی اضافه کنم چیکار کنم تا به اون رکورد دسترسی داشته باشم این هم باید بگم که امکان داره اون کمبو باکس من تکراری داشته باشه یا داخل بانک اطلاعاتی از اون چندتا داشته باشم پس نمی تونم از شرط گذاری داخل رشته sql استفاده کنم

فیلدی که در combo نمایش داده می شود،یک value متناظر دارد که در حقیقت valuemember فیلد نمایشی شماست(همون چیزی که nilmil_nil گفتن).حتی اگر این فیلد نمایشی تکرار شده باشد باید یک id واحد داشته باشد وگرنه به نظر من استفاده از combo براتون معنا نداره.اگر این شرایط برقراره:
string temp = combobox1.SelectedValue.ToString();

این خط کد،در حقیقت id شما رو برمیگردونه.

Yanehsar
سه شنبه 12 مهر 1390, 13:28 عصر
فیلدی که در combo نمایش داده می شود،یک value متناظر دارد که در حقیقت valuemember فیلد نمایشی شماست(همون چیزی که nilmil_nil گفتن).حتی اگر این فیلد نمایشی تکرار شده باشد باید یک id واحد داشته باشد وگرنه به نظر من استفاده از combo براتون معنا نداره.اگر این شرایط برقراره:
string temp = combobox1.SelectedValue.ToString();

این خط کد،در حقیقت id شما رو برمیگردونه.

من از این کد استفاده کردم اما انجام نمیده و خطای ُSystem.Data.dataRowView میده نمیدونم این خطا برای چی هست میشه راهنمایی کنید منو.مرسی

solaleh
سه شنبه 12 مهر 1390, 13:55 عصر
چک کنین ببینین مقداری که برای DisplayMember و ValueMember گذاشتین درسته یا نه؟منظورم اینه که حروف بزرگ و کوچک رو درست رعایت کردین یا نه.مثلا Field1 نه field1 ...

niyaz4872
سه شنبه 12 مهر 1390, 14:04 عصر
دوست عزيز نمونه برنامت را بده تا برات درست كنم.
به نظر من هم ايراد تايپي داري

Yanehsar
چهارشنبه 13 مهر 1390, 09:30 صبح
دوست عزيز نمونه برنامت را بده تا برات درست كنم.
به نظر من هم ايراد تايپي داري


سلام دوستان من این کار انجام دادم ولی نتیجه نگرفتم
این تابعی هست که من نوشتم
string testkhadmat;
void cbloadkhadmat()
{
try
{
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = "select * from khadamat";
OleDbDataAdapter daDR = new OleDbDataAdapter();
daDR.SelectCommand = cmd;
DataTable dtDR = new DataTable();
daDR.Fill(dtDR);
cbkhadmat.DataSource = dtDR;
cbkhadmat.DisplayMember = "name";
testkhadmat = cbkhadmat.ValueMember = "ID";
//testkhadmat = cbkhadmat.SelectedValue.ToString();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
con.Close();
}
}
private void btnexit_Click(object sender, EventArgs e)
{
MessageBox.Show(testkhadmat);

}

فیلدهای بانک اطلاعاتی من ID,name,name_pezeshek,... میباشه که من میخوام ولی نام خدمت انتخاب کردم کد خدمت اضافه کنم به جدول دوم