PDA

View Full Version : Error در Datagrideview



firefox2009
چهارشنبه 04 اردیبهشت 1387, 12:14 عصر
(this.MdiParent as form1).DataGridView1.Rows.Add();

int intRowCount=(this.MdiParent as form1).DataGridView1.Rows.Count;

(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[0] = TextBo1.Text;
(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[1] = TextBo2.Text;
(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[2] = TextBo3.Text;با سلام:
وقتی این کد را اجرا می کنم این اشکال را می گیرد چگونه رفعش کنم ؟
Error 1 Cannot implicitly convert type 'string' to 'System.Windows.Forms.DataGridViewCell'

sinpin
چهارشنبه 04 اردیبهشت 1387, 12:25 عصر
TextBo1.Text = DataGridView.Rows[intRowCount - 1].Cells[1].Value.ToString();

naeeme
چهارشنبه 04 اردیبهشت 1387, 12:58 عصر
(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[0] = TextBo1.Text;


صحیح:


(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[0].Value = TextBo1.Text;


قبل از اون هم بهتره این خط رو بنویسین:


DataGridView1.Rows[0].Cells[0].ValueType = System.Type.GetType("System.String");

firefox2009
چهارشنبه 04 اردیبهشت 1387, 15:04 عصر
(this.MdiParent as form1).DataGridView1.Rows.Add();

int intRowCount=(this.MdiParent as form1).DataGridView1.Rows.Count;

(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[0].value = TextBo1.Text;
(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[1].value = TextBo2.Text;
(this.MdiParent as form1).DataGridView1.Rows[intRowCount- 1].Cells[2].value = TextBo3.Text;سلام:
پس از اجرای برنامه این خطا را می دهد و خط اول به رنگ زرد در می اید و داخل کلدر زیرش می نویسد
System.NullReferenceException was unhandled
Message="Object reference not set to an instance of an object
."
مشکل از چیست . لطفا کد مورد نظر را بنویسید .

gdevnb
چهارشنبه 04 اردیبهشت 1387, 15:15 عصر
فکر کنم برنامه رو بزاری رو سایت هم واسه شما هم واسه دوستان راحتتره و زودتر مسکلتون حل میشه.

naeeme
چهارشنبه 04 اردیبهشت 1387, 15:40 عصر
حالت های مختلفی که ممکنه خطا رخ داده باشه:

1) this.MdiParent=null

2)

(this.MdiParent as form1)
نتیجه نداشته باشه.



فکر کنم برنامه رو بزاری رو سایت هم واسه شما هم واسه دوستان راحتتره و زودتر مسکلتون حل میشه
موافقم!!:چشمک:

firefox2009
چهارشنبه 04 اردیبهشت 1387, 16:52 عصر
با تشکر وسلام مجدد .
اجازه دهید کد را واستون توضیح دهم من میخوام اطلاعات وارده در سه تا textbox در form2 را در DataGridView موجود در form1 که main فرم است قرار دهم و DataGridView من شامل سه تا ستون است .
حال کد بالا را قرار دادم ه error از "نوع زمان اجرا" میدهد. در همان قسمتی که به رنگ زرد در اوردم.

PC2st
جمعه 06 اردیبهشت 1387, 15:31 عصر
همونطور که دوستان گفتند، this.MdiParent مقدارش null هست چون احتمالا form2 داخل فرم MDI ای تحت عنوان form1 قرار نداره. مطمئنی که کد زیر رو قبل از اون کدها نوشتی؟


this.MdiParent = frm1;

که frm1 یک نمونه شیئ از نوع form1 باشه (همون نمونه شیئ ای که میخواید textBox های form2 رو به dataGridView اش انتقال بدید).

بهرحال یه نمونه کد خیلی ساده بزارین، خیلی سریعتر به نتیجه میرسین.