PDA

View Full Version : را حل این مشکل چیه؟ارور هنگام فراخوانی داده ها از یک فرم در فرم دیگر



نیما حتمی
سه شنبه 24 خرداد 1390, 10:06 صبح
با سلام
من برنامه ای نوشتم که از یک گرید در یک فرم داده را در یک گرید دیگر در یک فرم دیگر فراخوانی و قرار می دهد و لی ارور زیر و می ده؟راه حل چیه؟
71145
اینم کدی که نوشتم:


try
{
frm.dataGridView1.CurrentCell.Value= radGridView1.CurrentRow.Cells[1].Value.ToString();
this.Close();
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
}

mobtakercode
سه شنبه 24 خرداد 1390, 10:46 صبح
خطا نشان دهنده این است که مقدار cell که باید خوانده شود null است لذا قبل از هرچیزی همیشه چک کنید که مقدار cell مورد نظر nullنباشد

if(radGridView1.CurrentRow.Cells[1].Value!=null)
frm.dataGridView1.CurrentCell.Value= radGridView1.CurrentRow.Cells[1].Value

نیما حتمی
سه شنبه 24 خرداد 1390, 15:49 عصر
آخه nullنیست این ارور رو میده.این کد شما روهم نوشتم حل نشد کسی میتونه کمک کنه؟

mehdi.mousavi
سه شنبه 24 خرداد 1390, 16:00 عصر
آخه nullنیست این ارور رو میده.این کد شما روهم نوشتم حل نشد کسی میتونه کمک کنه؟

سلام.
حقیقتش متوجه نمیشم که چرا Trace نمی کنید ببینید مقادیر در اون لحظه چی هستن و بلافاصله مشکل رو رفع کنید... در Visual Studio، کرسر رو در اولین خط از try قرار بدید، سپس کلید F9 رو بزنید و سپس کلید F5 رو تا برنامه اجرا بشه. هر وقت اجرای برنامه به اون خط رسید، Debugger سر اون خط صبر میکنه و شما میتونید در اون لحظه مقادیر متغیرهای مورد استفاده در اون خط رو ببینید. (کافیه Mouse رو روی هر یک از متغیرها ببرید تا مقادیر هر خط رو ببینید، یا متغیری رو Select کنید، سپس کلید Shift-F9 رو بزنید). بعدش هم با زدن کلید F10 میتونید خط به خط اجرای برنامه رو دنبال کنید تا ببینید اون ایراد به واسطه چی رخ میده. باور کنید پیدا کردن و Fix کردن این Error به این روش، 1/10 مدت زمان ارسال پست در این سایت زمان میبره.

موفق باشید.

gwbasic
سه شنبه 24 خرداد 1390, 16:34 عصر
ضمن تشکر از آقای موسوی امیدوارم Debug کردن مرو توجه دوستان تازه کار قرار بگیره تا متوجه بشوند که چقدر راحت با Debug کردن میشه مشکلات رو حل کرد

rezamansori
سه شنبه 24 خرداد 1390, 16:55 عصر
سلام .
برای این کار در فرم دوم کد زیر را :

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
}
به :


public partial class Form2 : Form
{
public Form2(DataTable dt)
{
dataGridView1.DataSource=dt;
InitializeComponent();
}
}
تغییر دهید و در فرم اول کد زیرا را وارد نمایید :


Form2 f = new Form2(dt);
f.Show();
در کد بالا بجای dt دیتا سورس ، دیتا گرید یا دیتا تیبل حاوی اطلاعات را وارد نمایید.