View Full Version : تشخیص خالی بودن یا نبودن DataGrid
Morteza_s
دوشنبه 02 اردیبهشت 1387, 11:30 صبح
من برای جستجو در بانک از DataSet و BindingSource استفاده کردم
مثلآ:
Table1BindingSource.Filter="name = 'Ali' "
و نتیجه جستجو رو در یک DataGrid نمایش دادم
چطور تشخیص بدیم که جستجو نتیجه ایی نداشته و DataGrid خالیه؟
مثلآ تشخیص بدیم زمانی که DataGrid خالیه دکمه های ویرایش و حذف غیرفعال بشن
ممنون
eyes_shut_number1
دوشنبه 02 اردیبهشت 1387, 12:07 عصر
ds.tables(0).rows.count<0
rezaei manesh
دوشنبه 02 اردیبهشت 1387, 12:10 عصر
یا دیتا ویو خود دیتا ستت رو چک کن یا تعداد رکورد گرایدت رو
برای مثلا اگر شرط زیر درست بود رکورد داره
grid1.RowCount >0
reza6384
دوشنبه 02 اردیبهشت 1387, 14:02 عصر
ds.tables(0).rows.count<0
ببخشید، احتمالا اشتباه چاپی شده، DataGridView حتی اگر هم خالی باشه Rows.Count اش کوچکتز از صفر نمیشه :
OverloadsFunction IsEmpty(ByVal DG As DataGridView)
If DG.Rows.Count = 0 Then
ReturnTrue
Else
ReturnFalse
EndIf
EndFunction
eyes_shut_number1
دوشنبه 02 اردیبهشت 1387, 16:03 عصر
البته دوسته من
بنده منظورم dataset بود نه datagridview!
rezaei manesh
دوشنبه 02 اردیبهشت 1387, 16:09 عصر
البته دوسته من
بنده منظورم dataset بود نه datagridview!
دیتا ست هم کوچکتر از صفر نمی شه!
eyes_shut_number1
دوشنبه 02 اردیبهشت 1387, 20:32 عصر
ای خدا!!!!!!!!!
با با وقتی یه رکورد باشه میشه 0 پس وقتی که کوچکتر از 0 بدون رکورده!!!!!!!!!.
این برای اینه که اگه این شرط باشه دیتاست خالیههههههه
rezaei manesh
سه شنبه 03 اردیبهشت 1387, 09:02 صبح
سلام
عزیز هر جا کانت در هر کنترلی دیدی شک نکن که 0 مقدار خالی اونه و اگر بزرگتر از 0 باشه یعنی پر هست.
اما چون این نوع کنترل ها یک جورایی آرایه هستند و مقدار اندکس ارایه ها از 0 شروع می شه ما موقع برداشت رکورد باید اندکس صفر اونو بخونیم
یعنی اگه یک رکورد در یک دیتا تیبل وجود داشت کانت اون برابر یک خواهد بود و برای برداشت اون از اندکس 0 استفاده می کنم تا count -1
موفق باشید
eyes_shut_number1
سه شنبه 03 اردیبهشت 1387, 10:47 صبح
دقیقان همینه!
دوست من میدونم میدونید که مقدار دیفالت false در vb & vb.net -1 هست.
پس اگه کوچکتر از 0 رو تو شرط بگیریم false بودن رو چک کردیم
rezaei manesh
سه شنبه 03 اردیبهشت 1387, 10:55 صبح
ds.tables(0).rows.count<0
دوست من این شرط هیچ موقع true نمی شه چون مقدار دفالیت count برای صفر هست ببین خودت امتهان کن می فهمی
شما می گی اگه count=0 باشه یعنی ما یک رکورد دارم؟!!!!!!!!! اصلا و ابدا اینطور نیست و...
eyes_shut_number1
سه شنبه 03 اردیبهشت 1387, 11:33 صبح
if ds.tables(0).rows.count<0 then
msgbox("False")
else
Msgbox("true")
end if
این شرط وقتی رکوردی نیست درسته!
بهتره امتجان کنید
rezaei manesh
سه شنبه 03 اردیبهشت 1387, 12:32 عصر
آقا من دیگه در این مورد حرفی نمی زنم شاید هم من اشتباه کنم
اما من تا به حال count با مقدار کوچکتر از صفر ندیدم در هیچ کنترلی !
شاید مشکل از من باشه نمی دونم اما من نتونستم کانت منفی ببینم؟!
نتیجه کد شما در پست قبلی زمانی که رکوردی ندارد هم true هست
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.