PDA

View Full Version : سوال: مشکل در لود نشدن تاریخ درون تکس باکس های موجود در tabcontrol ، از datagridview



jan_kocholo
یک شنبه 24 فروردین 1393, 03:51 صبح
با سلام و وقت بخیر

من به گرید دارم که با دابل کلیک کردن روی هر سطرش، اطلاعات هر فیلد رو توی تکس باکس های فرم جدید لود میکنه
توی این فرم جدید که باز میشه، یه tabcontrol هم دارم. تکس باکس تاریخ توی tabcontrol اطلاعاتش لود نمیشه. ولی اگر از tabcontrol خارجش کنم و توی خوده فرم قرارش بدم، اطلاعات رو لود میکنه..
فیلد های دیگه مشکلی ندارن. فقط همین تاریخه مشکل داره و لود نمیشه :متفکر:

و برای تاریخ ها از BehComponents استفاده کردم.گفتم شاید به درد بخوره که بگم...

عکس رو ضمیمه کردم..

ممنون میشم راهناییم کنید

سپاس

117913

jan_kocholo
یک شنبه 24 فروردین 1393, 17:46 عصر
آقا کسی نبود جواب ما رو بده !!

behzadkhan
یک شنبه 24 فروردین 1393, 19:08 عصر
با سلام

لطفا کد دابل کلیک رو دیتاگریدویو را بزار.

با تشکر

jan_kocholo
سه شنبه 26 فروردین 1393, 16:47 عصر
سلام

این کد رو توی دابل کلیک
دیتاگریدویو گذاشتم


private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
object T0 = dataGridView1.Rows[e.RowIndex].Cells[0].Value;
object T1 = dataGridView1.Rows[e.RowIndex].Cells[1].Value;
object T2 = dataGridView1.Rows[e.RowIndex].Cells[2].Value;
object T3 = dataGridView1.Rows[e.RowIndex].Cells[3].Value;
object T4 = dataGridView1.Rows[e.RowIndex].Cells[4].Value;
object T5 = dataGridView1.Rows[e.RowIndex].Cells[5].Value;
object T6 = dataGridView1.Rows[e.RowIndex].Cells[6].Value;


if (T0 != null || T1 != null || T2 != null || T3 != null || T4 != null || T5 != null || T6 != null)
{
Form2 frm = new Form2() { ID = T0.ToString(),
DateSabt = T1.ToString(),
NameDadgah = T2.ToString(),
NameDadgahSH = T3.ToString(),
NumKelase = T4.ToString(),
DateEblaq = T5.ToString(),
DateHozoor = T6.ToString()};
frm.ShowDialog();
}

}


و این کد هم توی فرمی که باز میشه گذاشتم


public delegate void DoEvent();//جهت استفاده برای رفرش دیتا گرید
public event DoEvent RefreshDgv;//جهت استفاده برای رفرش دیتا گرید


public Form2()
{
InitializeComponent();
}


public string ID
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}
public string DateSabt
{
get { return dateTimePickerX3.Text; }
set { dateTimePickerX3.Text = value; }
}
public string NameDadgah
{
get { return textBox2.Text; }
set { textBox2.Text = value; }
}
public string NameDadgahSH
{
get { return textBox3.Text; }
set { textBox3.Text = value; }
}
public string NumKelase
{
get { return textBox4.Text; }
set { textBox4.Text = value; }
}
public string DateEblaq
{
get { return dateTimePickerX1.Text; }
set { dateTimePickerX1.Text = value; }
}
public string DateHozoor
{
get { return dateTimePickerX2.Text; }
set { dateTimePickerX2.Text = value; }

}


اینم برای رفرش کردن دیتاگریدویو , توی فرم لود فرمی که جدید باز میشه گذاشتم


this.RefreshDgv();

behzadkhan
سه شنبه 26 فروردین 1393, 17:13 عصر
با سلام

احتمالا دلیل عدم تغییر خصوصیت Text دستور زیر می باشد:
dateTimePickerX3.Text = value;
لطفا ببینید برای تغییر تاریخ در کنترل dataTimePickerX1 باید از خصوصیت Text استفاده کرد یا Value یا چیز دیگری؟

با تشکر

jan_kocholo
سه شنبه 26 فروردین 1393, 17:32 عصر
دوست عزیز, من همین کار رو واسه تاریخ ثبت پرونده انجام دادم و مقدارش از دیتاگریدویو لود شده..

تاریخ ثبت پرونده توی فرم هست, ولی تاریخ ابلاغ و تاریخ حضور کارشناس در دادگاه توی tabcontrol هست و مقدارش از دیتاگریدویو لود نمیشه :افسرده:

behzadkhan
سه شنبه 26 فروردین 1393, 18:33 عصر
با سلام

jan_kocholo (http://barnamenevis.org/member.php?232048-jan_kocholo)
جان
ببین تغییر میکند:
=====================================


اگر بیرون تب کنترولر کار می کند ولی درونش نه

پس:

با این دستور برو به تب کنترلی که می خواهی و بعد اون کنترولر datatimepicker را پیدا و مقدار textاش را تغییر بده.
البته نام گذاری ها را مطابق کنترل های خودت عوض کن.

foreach (Control item in this.tabControl1.TabPages[0].Controls)
{
if (item.Name == "dateTimePickerX1")
{
item.Text = this.DateEblaq;
}


if (item.Name == "dateTimePickerX1")
{
item.Text = this.DateEblaq;
}
}



با تشکر

jan_kocholo
سه شنبه 26 فروردین 1393, 18:46 عصر
سپاس از جوابتون..

این کد رو توی دابل کلیک دیتاگریدویو بنویسم ؟

یا لطفا بفرمائید کجا باید بنویسم ؟

اون بالا کد مربوط به دابل کلیک دیتاگریدویو رو گذاشتم

behzadkhan
سه شنبه 26 فروردین 1393, 19:20 عصر
با سلام

برای اینکه ببینی جواب میده یا نه خارج از tabcontrol یک button بزار و اونو در رویداد کلیکش بنویس.

با تشکر

jan_kocholo
سه شنبه 26 فروردین 1393, 21:44 عصر
خیر دوست عزیز . . .

جواب نداد :ناراحت:

behzadkhan
سه شنبه 26 فروردین 1393, 23:34 عصر
با سلام مجدد

لطفا در get و set

DateEblaq و DateHozoor

breakpoint بزارید و ببینید که اصلا مقداری دریافت می کند.

با تشکر

jan_kocholo
چهارشنبه 27 فروردین 1393, 00:39 صبح
با سلام مجدد

لطفا در get و set

DateEblaq و DateHozoor

breakpoint بزارید و ببینید که اصلا مقداری دریافت می کند.

با تشکر

دوست عزیز . . .
بله ، مقدار دریافت میکنه . . .
اینم عکسش

118035

behzadkhan
چهارشنبه 27 فروردین 1393, 01:58 صبح
با سلام

توی عکس پروپرتی value هست(نکنه اشتباه کردی)

لطفا بازم تست کن.

با تشکر

behzadkhan
چهارشنبه 27 فروردین 1393, 02:05 صبح
با سلام

ببین با این راه می تونه مشکل را حل کنی:
================================

لطفا یک متغیر پابلیک در فرمی که دیتاگرید ویو هست ایجاد کنید. سپس در رویداد دابل کلیک مقدار اون فیلدی که می خواهید را درا آن قرار دهید.

حالا در فرم دوم در رویداد Load مقدار اون متغیر پابلیک را در DateEblaq قرار دهید.

با تشکر

jan_kocholo
چهارشنبه 27 فروردین 1393, 15:49 عصر
با سلام

توی عکس پروپرتی value هست(نکنه اشتباه کردی)

لطفا بازم تست کن.

با تشکر

نه درسته. مقدار متغیر value هست

jan_kocholo
چهارشنبه 27 فروردین 1393, 15:51 عصر
با سلام

ببین با این راه می تونه مشکل را حل کنی:
================================

لطفا یک متغیر پابلیک در فرمی که دیتاگرید ویو هست ایجاد کنید. سپس در رویداد دابل کلیک مقدار اون فیلدی که می خواهید را درا آن قرار دهید.

حالا در فرم دوم در رویداد Load مقدار اون متغیر پابلیک را در DateEblaq قرار دهید.

با تشکر

توی فرم لود دوم اصلا به متغیر پابلیک دسترسی ندارم!!

چیکارش کنم!!

behzadkhan
چهارشنبه 27 فروردین 1393, 16:04 عصر
با سلام

متغییر پابلیک را کجا تعریف کردید؟

با تشکر

jan_kocholo
چهارشنبه 27 فروردین 1393, 16:05 عصر
توی فرمی که گرید داره ( فرم ۱ )

mahtab.kamali
شنبه 30 فروردین 1393, 22:20 عصر
کسی نیست بتونه کمکم منه !!!
شاید این نمونه بتونه کمکتون کنه

jan_kocholo
یک شنبه 31 فروردین 1393, 00:54 صبح
شاید این نمونه بتونه کمکتون کنه

مرسی از کدتون..

این برنامه من هست. تونستم کاریش کنم

میشه شما چکش کنید؟

ممنون میشم

لینک برنامه (http://jani8.persiangig.com/main.exe/download)

رامین مرادی
دوشنبه 01 اردیبهشت 1393, 19:43 عصر
چرا داده هاتو از نوع آبجکت گرفتی ؟؟؟
همون استرینگ بگیر یه بار هم تست کن . در ضمن یادت نره وقتی داری بهشون مقدار نسبت بدی آخر vlue تبدیل به رشته کن. کلا کدت ایراد نداره . یه برک پوینت توی فرم دوم بزار ببین اصلا مقداری ارسال میشه یا نه... در ضمن میتونی team بدی
؟؟؟

jan_kocholo
دوشنبه 01 اردیبهشت 1393, 19:46 عصر
داداش ، لینک برنامه رو گذاشتم . . .
اگه بخوای ، team هم میتونم بدم

رامین مرادی
دوشنبه 01 اردیبهشت 1393, 19:53 عصر
لطفا team بده من دات نت 4 ندارم..... :لبخند:

رامین مرادی
سه شنبه 02 اردیبهشت 1393, 08:05 صبح
به نمونه کد گذاشتم شاید به دردت بخوره