PDA

View Full Version : دیبیگرید و خطای تبدیل null به string



javan2754
سه شنبه 08 آبان 1386, 18:57 عصر
سلام.
من توی یه برنامه دو سوال برام پیش اومده. (البته من تازه کارم. امیدوارم اساتید دلفی منو کمک کنند.)
سوال اول اینکه برنامه من یه DBGrid داره. می خوام هر وقت روی یه رکورد یا سطر اون کلیک می کنم اطلاعات اون وارد چند تا ادیت باکس بشه (همیشه رکورد آخری رو نشون میده) و بعد اون سطری که روش کلیک کردم رو پاک کنه. هر کاری کردم اون رکورد رو پاک نمی کرد.
سوال دوم اینکه وقتی روی یه لیست باکس دابل کلیک می کنم تا اطلاعات رو نوی چند ادیت باکس بریزه ولی یه ارور میده ... could not convert variant of type(null) into type (string) آیا توی ذخیره اطلاعات مشکل داره. این ذخیره اطلاعات چطوری باید باشه.؟
اگه من بخوام. یه رکورد رو سرچ کنم و اطلاعات اون رو پاک یا نمایش بدم چیکار باید کنم؟
بانک من اکسس هست.

با تشکر...
=================
جوان

hossein taghi zadeh
سه شنبه 08 آبان 1386, 20:24 عصر
با سلام

در مورد خطا فکر می کنم شما از متد FindValues استفاده کردین.
بهتره از FieldByName استفاده کنید.
دستوراتتون رو هم داخل رویداد دی بی کلیک مربوط به دی بی گرید بنویسید.
برای مثال:

Begin
edtUserName.Text := qryGrid.FieldByName('FieldName').AsString;
Index := qryGrid.FieldByName('FieldName').AsInteger;
End;

dkhatibi
چهارشنبه 09 آبان 1386, 07:09 صبح
با کتد ISNull، اگر Null است را چک کن. می تونی از رویدادهای Ongettext و OnsetText فیلد هم استفاده کنید.

javan2754
چهارشنبه 09 آبان 1386, 12:14 عصر
با تشکر از حسین تقی زاده (دکمه تشکر رو زدم). سوال دوم رو جواب داد.

انتخاب سطر انتخاب شده در دیبیگرید و لیست باکس چطوریه؟
من توی یه دیبیگرید یه سطر رو انتخاب می کنم. حالا می خوام با کلید del اون رو پاک کنم. اصلا انگار نه انگار. کاری نمی کنه.

Rocker
چهارشنبه 09 آبان 1386, 15:41 عصر
سلام.
من توی یه برنامه دو سوال برام پیش اومده. (البته من تازه کارم. امیدوارم اساتید دلفی منو کمک کنند.)
سوال اول اینکه برنامه من یه DBGrid داره. می خوام هر وقت روی یه رکورد یا سطر اون کلیک می کنم اطلاعات اون وارد چند تا ادیت باکس بشه (همیشه رکورد آخری رو نشون میده) و بعد اون سطری که روش کلیک کردم رو پاک کنه. هر کاری کردم اون رکورد رو پاک نمی کرد.
سوال دوم اینکه وقتی روی یه لیست باکس دابل کلیک می کنم تا اطلاعات رو نوی چند ادیت باکس بریزه ولی یه ارور میده ... could not convert variant of type(null) into type (string) آیا توی ذخیره اطلاعات مشکل داره. این ذخیره اطلاعات چطوری باید باشه.؟
اگه من بخوام. یه رکورد رو سرچ کنم و اطلاعات اون رو پاک یا نمایش بدم چیکار باید کنم؟
بانک من اکسس هست.

با تشکر...
=================
جوان
شما وقتی از DBEdit استفاده کنید نیازی نداری برای اینکه روی هر سطر کلیک کردید اطلاعاتش رو توی چند تا ادیت باکش نشون بده.
در ضمن شما چه طوری میتونید زمانی که روی سطری کلیک کردید هم اونو نشون بده هم کلیلک کنه اصلا چنین چیزی ممکنه پسر خوب؟

dkhatibi
چهارشنبه 09 آبان 1386, 18:00 عصر
من توی یه دیبیگرید یه سطر رو انتخاب می کنم. حالا می خوام با کلید del اون رو پاک کن
HotKey پیش فرض برای این امر Ctrl+Del می باشد. برای Del باید خودتان کد بنویسید. یا از Onclick شی Dbnavigator استفاده کنید.

if button=nbdelete then ...