با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
دوستان من میخوام زمانی که یک سطر در گرید ویو انتخاب میشه مقادیر اون سطر توی تکست باکس ها نشون داده بشه، من این کد رو توی رویداد selection change گرید ویو نوشتم
comboBox1.Text = dataGridView1.CurrentRow.Cells[13].Value.ToString();
txtBornCity.Text = dataGridView1.CurrentRow.Cells[16].Value.ToString();
richTextBox1.Text = dataGridView1.CurrentRow.Cells[18].Value.ToString();
ولی دو تا مشکل وجود داره یکی اینکه الان این کده واسه بقیه مقادیر درسته بجز واسه این سه تا که ارور unhandled exeption ... میده .علتش چیه!!!
و مشکل دوم اینکه همون موقع که برنامه اجرا میشه به طور پیشفرض اولین سطر گرید ویو انتخاب هست پس همیشه اول محتویات این سطر اول رو نشون میده در صورنی که من میخوام زمانی که کاربر یک سطر رو انتخاب کرد این اتفاق بیفته،باید چکار کنم؟ توی چه رویدادی باید بنویسم؟؟؟
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
برای سوال دومت.باید تو رویداد currentcellchanged دیتاگرید بنویس.
سعی کن برا سوال اول مقادیر سلول هارو از دیتاتیبل بگیری نه دیتا گرید.
یه breakpoint بزار ببین چی توشون ذخیره میشه.
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
میتونی توی رویداد dataGridView1_CellClick بنویسی
وبرای دسترسی به مقدار سطر انتخاب شده اینجوری بنویسی
txtuser.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
نقل قول:
نوشته شده توسط
m. hamide7
میتونی توی رویداد dataGridView1_CellClick بنویسی
وبرای دسترسی به مقدار سطر انتخاب شده اینجوری بنویسی
txtuser.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
چه به این صورت چه اونطور که خودم نوشته بودم وقتی سطری رو انتخاب میکنم یه ی فیلدش خالیه این ارور رومیده : (برای همه فیلدها نه فقط برای همون چنتا فیلدی که اونموقع هم بهشون گیر میداد)
null refrence exeption was un handled:
Object reference not set to an instance of an object.
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
دوست عزیز یبار با دقت کامل کدهاتو چک کن ببین احتمالا یجا اشتباه کردید.....
البته ببخشید قصد جسارت نداشتم قصدم راهنمایی بود
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
نقل قول:
نوشته شده توسط
حسین.کاظمی
دوست عزیز یبار با دقت کامل کدهاتو چک کن ببین احتمالا یجا اشتباه کردید.....
البته ببخشید قصد جسارت نداشتم قصدم راهنمایی بود
ممنون. کدها درسته ولی واسه رکوردهایی که فیلد خالی داره پیغام میده که exeption براش تعریف نشده. فک کنم کدها رو باید توی try catch بذارم. میشه راهنماییم کنید که توی catch واسه این کد باید چی بنویسم؟؟؟؟
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
نقل قول:
نوشته شده توسط
mahaya67
ممنون. کدها درسته ولی واسه رکوردهایی که فیلد خالی داره پیغام میده که exeption براش تعریف نشده. فک کنم کدها رو باید توی try catch بذارم. میشه راهنماییم کنید که توی catch واسه این کد باید چی بنویسم؟؟؟؟
سلام
آره درسته برخی ستونها که مقدار نداره و میخوای مقدارش رو به استرینگ تبدیل کنی خطا میده؛ استفاده از try هم منطقی نیست چون ممکنه ستون اولی که داری میخونی خالی باشه و وارد catch بشه و بقیه ستون ها رو نمخونه و باید null بودن هر ستون رو موقع خوندن چک کنی که راه حل منطقی تری هست
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
دوست عزیز ربطی به try catch نداره.شما میخاهید اطلاعاتو تو تکست باکس بریزید.متن ارور رو کامل ذکر کنید در اینجا تا بررسی شه
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
در مرحله اول شما نباید اجازه بدی فیلدی در بانک بدون مقدار بمونه(در صورت وارد نکردن مقداری یه مقدار پیش فرض قرار بده.منطقی ترش اینه که در اون فرمی که اطلاعات وارد میشه با یک errorProvider ورودی ها رو چک کنید که خالی نباشن ) یا اگر موند موقع سکلت چک کن و اگر مقداری برنگردوند اون سلول رو برابر 0 قرار بده
var select_price_bargh = from a in db.tbl_ghobozs
where a.date.Substring(0, 4) == year
select new { a.price };
if (select_price_bargh.Count() != 0)
{
dataGridView1.CurrentRow.Cells[3].Value = select_price_bargh.Sum(c => (Convert.ToInt32(c.price)));
}
else
{
dataGridView1.CurrentRow.Cells[3].Value = "0";
}
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
نقل قول:
نوشته شده توسط
vB.N3T
در مرحله اول شما نباید اجازه بدی فیلدی در بانک بدون مقدار بمونه(در صورت وارد نکردن مقداری یه مقدار پیش فرض قرار بده.منطقی ترش اینه که در اون فرمی که اطلاعات وارد میشه با یک errorProvider ورودی ها رو چک کنید که خالی نباشن ) یا اگر موند موقع سکلت چک کن و اگر مقداری برنگردوند اون سلول رو برابر 0 قرار بده
var select_price_bargh = from a in db.tbl_ghobozs
where a.date.Substring(0, 4) == year
select new { a.price };
if (select_price_bargh.Count() != 0)
{
dataGridView1.CurrentRow.Cells[3].Value = select_price_bargh.Sum(c => (Convert.ToInt32(c.price)));
}
else
{
dataGridView1.CurrentRow.Cells[3].Value = "0";
}
آخه اجباری توی گر کردن همه فیلدها نیست ک لازم باشه ارور بده یه شرط گذاشتم که اگر خالی نبود این کار رو انجام بده به این صورت :
var n = dataGridView1.CurrentRow.Cells[2].Value;
if (n !=null)
txtName.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
فقط برای یکی از فیلدها من موقع ثبت مقدارشو از چندتا تکس باکس میگیرم، الان واسه نمایشش مثلا توی کد بالا به جای اون قسمتی ک underline کردم چی باید بنویسم؟!
نقل قول: با انتخاب یک سطر فیلدها در TextBoxها نمایش داده شود
:ناراحت::ناراحت: هیچکی راهشو نمی دونه؟؟؟