PDA

View Full Version : مشكل در ستون گريد كومبو



csharpprogramer88
دوشنبه 17 اسفند 1388, 22:13 عصر
سلام
دوستان من با گريدي كه در آن دو كومبو وجود داره و يه سري فيلدهاي ديگه دارم كار مي كنم موقع درج اطلاعات مشكلي ندارم اما موقع سلكت اطلاعات مشكل دارم و مي خوام موقع درج كاربر آن آيتم كومبو را انتخاب كرد موقع سلكت هم همان آيتم از كومبو در حالت انتخاب قرار بگيرد


dataGridViewX3.Columns[0].DataPropertyName = "id";
dataGridViewX3.Columns[1].DataPropertyName = "vazeeatshoghl";
دستور دومي مر بوط به كومبو است كه پيغام خطا مي ده :
حالا من بايد چطوري اين كار را انجام بدم
دوستان لطفا كمك كنيد خيلي خيلي فوريه

csharpprogramer88
سه شنبه 18 اسفند 1388, 06:59 صبح
يكي كمك كنه خيلي فوريه

behzad1986
سه شنبه 18 اسفند 1388, 10:46 صبح
سلام datagridview دادهاشو از كجا مياره؟

slashslash2009
سه شنبه 18 اسفند 1388, 11:56 صبح
با این کد میتونی یک کامبو باکس در گرید ویوتون درست کنی و با یک ستون از جدول هم پرش کنی

connect consql5 = new connect();
DataTable dt5 = new DataTable();
dt5 = consql5.MySelect("select * from ghete");
DataGridViewComboBoxColumn combogrid = new DataGridViewComboBoxColumn();
combogrid.DataSource = dt5;
combogrid.DataPropertyName = "name";
combogrid.ValueMember = "name";
dataGridViewX2.Columns.Insert(2, combogrid);

csharpprogramer88
سه شنبه 18 اسفند 1388, 12:08 عصر
سلام datagridview دادهاشو از كجا مياره؟

سلام
دوست من همانطور كه گفتم اطلاعات را با دستور سلكت از اس كيو ال ميخوانم و در گريد ميريزم حالا يه مشكلي وجود داره كه مي خوام اون فيلدي كه كومبو داره مقدار كومبو مقداري باشه كه كاربر هنگام درج انتخاب كرده .
البته ناگفته نمونه كه مقدار كومبو را خودم درگريد add column كردم و و چهارتا مقدار بيشتر نيست

csharpprogramer88
سه شنبه 18 اسفند 1388, 12:36 عصر
ds3.Clear();
expandablePanel3.Enabled = true;
da3= new SqlDataAdapter("select * from shoghl where id=" + dataGridViewX1.Rows[dataGridViewX1.CurrentRow.Index].Cells[0].Value.ToString() + "", con);//ريختن اطلاعات در گريد
da3.Fill(ds3,"shoghl");
bs3.DataSource =ds3.Tables["shoghl"];
dataGridViewX3.Focus();
dataGridViewX3.AutoGenerateColumns = false;
dataGridViewX3.DataSource = bs3;

dataGridViewX3.Columns[0].DataPropertyName = "id";
dataGridViewX3.Columns[0].DataPropertyName = "vazeeatshoghl";//in sotoon combo ast
dataGridViewX3.Columns[2].DataPropertyName = "nameedare";
dataGridViewX3.Columns[3].DataPropertyName = "masuliat";//in sotoon combo ast
dataGridViewX3.Columns[4].DataPropertyName = "sabeghe";


دوستان عزيز اين كد مربوط به سلكت هشتش اگر لطف كنيد تغييرش بديد تا بتونم كومبو را هم نشان بده ممنوم ميشم

behzad1986
سه شنبه 18 اسفند 1388, 13:24 عصر
سلام اگه مي تونين combo bax روهم با استفاده از datasource پر كنين مشكلتون حل ميشه ، يعني dispaly member و value member مربوط به combo box رو set كنين

csharpprogramer88
سه شنبه 18 اسفند 1388, 13:46 عصر
دوست من اگر امكانش هست با كدي كه بالا فرستادم بتونين راهنمايي يا تغيير بديد ممنون ميشم چون ديگه خيلي گيج شدم اينقدر روي اين مورد كار كردم:گیج::خجالت:
با تشكر

csharpprogramer88
سه شنبه 18 اسفند 1388, 14:14 عصر
ds3.Clear();
expandablePanel3.Enabled = true;
da3= new SqlDataAdapter("select * from shoghl where id=" + dataGridViewX1.Rows[dataGridViewX1.CurrentRow.Index].Cells[0].Value.ToString() + "", con);//ريختن اطلاعات در گريد
da3.Fill(ds3,"shoghl");
bs3.DataSource =ds3.Tables["shoghl"];
dataGridViewX3.Focus();
dataGridViewX3.AutoGenerateColumns = false;
dataGridViewX3.DataSource = bs3;


dataGridViewX3.Columns[0].DataPropertyName = "id";

Column7.DataSource = ds3.Tables["shoghl"];
Column7.DisplayMember= "vazeeatshoghl";
// Column7.ValueMember = "id";



دوست عزيز آخرين كدي كه نوشتم اينه الان در گريد فيلد كومبو رو نشان مي ده ولي كاربر حتما بايد روي اون كليك كنه تا باز بشه بعدا ببينه كه اين اصلا جالب نيست و من مي خوام در همون نگاه اول نشان بده ، اما يه مشكلي وجود داره ، اون كومبو مقدار قبلي خودش را از دست ميده كه نمي خوام اينطور بشه.
مثال ) من در كومبو بصورت دستي خودم چهار آيتم (بيكار- در حال تحصيل - آزاد - شاغل ) را وارد كردم و كاربري كه مي خواد با برنامه كار كنه موقع درج در اس كيو ال آيتم سوم(آزاد) انتخاب مي كند حالا مي خوام موقعي كه كاربر دستور سلكت را اجرا مي كنه در كومبوي گريد اون فيلد (آزاد) نشان داده شود علاوه بر نشان دادن آزاد سه آيتم ديگر هم نشان داده شود.
خواهشا اگر ميدونين زودتر بگيد چون خيلي دير شد:افسرده::خجالت::ناراحت::گر ه::عصبانی++:

behzad1986
سه شنبه 18 اسفند 1388, 14:24 عصر
دوست عزيز نوع شغل كليد خارجيه ؟ اين كد بايد جدول نوع شغلتون وصل بشه!

Column7.DataSource = ds3.Tables["shoghl"];
Column7.DisplayMember= "vazeeatshoghl";
Column7.ValueMember = "id";

behzad1986
سه شنبه 18 اسفند 1388, 14:34 عصر
كد بايد به اين شكل باشه

ds3.Clear();
expandablePanel3.Enabled = true;
da3= new SqlDataAdapter("select * from noaashoghl " , con);
ds3.Clear();
da3.Fill(ds3,"noaashoghl");

//Column7 is Combo box
//Fill Combo Box
Column7.DataSource = ds3.Tables["noaashoghl"];
Column7.DisplayMember= "vazeeatshoghl";
Column7.ValueMember = "id";

da3= new SqlDataAdapter("select * from shoghl where id=" + dataGridViewX1.Rows[dataGridViewX1.CurrentRow.Index].Cells[0].Value.ToString() + "", con);//ريختن اطلاعات در گريد
da3.Fill(ds3,"shoghl");
//Fill DataGirid
bs3.DataSource =ds3.Tables["shoghl"];
dataGridViewX3.Focus();
dataGridViewX3.AutoGenerateColumns = false;
dataGridViewX3.DataSource = bs3;

csharpprogramer88
سه شنبه 18 اسفند 1388, 15:30 عصر
دوست عزيز مشكل من هنوز حل نشده ولي من متاسفانه وقت زيادي ندارم اگر لطف كني به اين تاپيك سر بزني و جواب بدي شايد بتونم يه جور ديگه حلش كنم
با تشكر
http://barnamenevis.org/forum/showthread.php?t=209324