sm_1366
جمعه 13 دی 1392, 22:38 عصر
با سلام ...
من ديتاگريد ويويي دارم كه چندتا از ستونهاش از نوع كمبو باكسه و آيتمهاي اين كمبو باكسها خودشون سلكتي از ديتا بيس هستند مثلا يكيشون كد كلاسهاست يكيش كد داشن آموزان و ...كه تو لود فرم ديتاسورس كمبو باكسهام پر شده و اطلاعات رو توسط ديتاگريد ويو داخل ديتابيس ذخيره ميكنم
حالا ميخوام اونهارو توسط همين ديتاگريد ويو ويرايشش كنم كه نميشه ...
ميخوام دقيقا بشه مثل حالت درج اطلاعات با اين تفاوت كه كمبو باكسها مقدار ذخيره شده در ديتابيس رو به عنوان مقدار text داشته باشند..
اساس ويرايش هم اينه
مثلا تو فرم ديگه كاربر كد مدرسه رو وارد ميكنه و اطلاعات اون مدرسه شامل كد كلاسها كد دانش آموزان و ... داخل همون ديتاگريدي كه تو فرم ديگه هست لود بشه برا ويرايش ...
تو لود فرم با كد زير ديتاگريد ويو رو كمبوباكسيش كردم ... و ديتاسورسش هم مشخص كردم ... درست مثل زمان درج
[CSHARP]DataGridViewComboBoxColumn newcol1 = new DataGridViewComboBoxColumn();
newcol1.DataSource = tblclass;
newcol1.DisplayMember = "id_c";
dataGridView1.Columns.Add(newcol1);
DataGridViewComboBoxColumn newcol2 = new DataGridViewComboBoxColumn();
newcol1.DataSource = tblstudent;
newcol1.DisplayMember = "id_s";
dataGridView1.Columns.Add(newcol2);
حالا كه ميخوام اطلاعات اون مدرسه تو اين ديتا گريد ويو لود بشه كد زير رو مينويسم
فرض: اطلاعات مدرسه وارد شده داخل tblm ميباشد ..
(dataGridView1.Rows[0].Cells[0] as DataGridViewComboBoxCell).Value = tblm.rows[0][0].tostring();
(dataGridView1.Rows[0].Cells[1] as DataGridViewComboBoxCell).Value = tblm.rows[0][1].tostring();
اين خطا رو ميده ...
http://www.xum.ir/images/2014/01/03/01.png
وقتي خطا رو ok ميكنم ميبينم اون داده به عنوان پيش فرض اومده تو كمبو باكس اما تا ميام رو ديتاگريد كليك كنم يا يه كاري كنم مرتبا اين خطا مياد ...
واقعا گير كردم ممنون ميشم كسي راهنماييم كنه.
من ديتاگريد ويويي دارم كه چندتا از ستونهاش از نوع كمبو باكسه و آيتمهاي اين كمبو باكسها خودشون سلكتي از ديتا بيس هستند مثلا يكيشون كد كلاسهاست يكيش كد داشن آموزان و ...كه تو لود فرم ديتاسورس كمبو باكسهام پر شده و اطلاعات رو توسط ديتاگريد ويو داخل ديتابيس ذخيره ميكنم
حالا ميخوام اونهارو توسط همين ديتاگريد ويو ويرايشش كنم كه نميشه ...
ميخوام دقيقا بشه مثل حالت درج اطلاعات با اين تفاوت كه كمبو باكسها مقدار ذخيره شده در ديتابيس رو به عنوان مقدار text داشته باشند..
اساس ويرايش هم اينه
مثلا تو فرم ديگه كاربر كد مدرسه رو وارد ميكنه و اطلاعات اون مدرسه شامل كد كلاسها كد دانش آموزان و ... داخل همون ديتاگريدي كه تو فرم ديگه هست لود بشه برا ويرايش ...
تو لود فرم با كد زير ديتاگريد ويو رو كمبوباكسيش كردم ... و ديتاسورسش هم مشخص كردم ... درست مثل زمان درج
[CSHARP]DataGridViewComboBoxColumn newcol1 = new DataGridViewComboBoxColumn();
newcol1.DataSource = tblclass;
newcol1.DisplayMember = "id_c";
dataGridView1.Columns.Add(newcol1);
DataGridViewComboBoxColumn newcol2 = new DataGridViewComboBoxColumn();
newcol1.DataSource = tblstudent;
newcol1.DisplayMember = "id_s";
dataGridView1.Columns.Add(newcol2);
حالا كه ميخوام اطلاعات اون مدرسه تو اين ديتا گريد ويو لود بشه كد زير رو مينويسم
فرض: اطلاعات مدرسه وارد شده داخل tblm ميباشد ..
(dataGridView1.Rows[0].Cells[0] as DataGridViewComboBoxCell).Value = tblm.rows[0][0].tostring();
(dataGridView1.Rows[0].Cells[1] as DataGridViewComboBoxCell).Value = tblm.rows[0][1].tostring();
اين خطا رو ميده ...
http://www.xum.ir/images/2014/01/03/01.png
وقتي خطا رو ok ميكنم ميبينم اون داده به عنوان پيش فرض اومده تو كمبو باكس اما تا ميام رو ديتاگريد كليك كنم يا يه كاري كنم مرتبا اين خطا مياد ...
واقعا گير كردم ممنون ميشم كسي راهنماييم كنه.