PDA

View Full Version : سوال: کد پاک کردن تمامی سطرهای گریدویو



msozan
سه شنبه 24 فروردین 1389, 11:01 صبح
سلام
کد پاک کردن تمام سطرهاي ديتاگريدويو رو ميخوام دستور delete فقط اطلاعات سطرهاي انتخابي رو پاک ميکنه
ولي من ميخوام وقتي کاربر روي يه دکمه اي کليک کرد تمام سطرهاي ديتاگريدويو پاک بشه
یا به عبارتی چطوری میتونم تمامی سطرهای دیتاگرید رو انتخاب کنم چون دستور select فقط سطر اول دیتاگرید رو اتخاب میکنه
ممنون

اَرژنگ
سه شنبه 24 فروردین 1389, 11:08 صبح
سلام
کد پاک کردن تمام سطرهاي ديتاگريدويو رو ميخوام دستور delete فقط اطلاعات سطرهاي انتخابي رو پاک ميکنه
ولي من ميخوام وقتي کاربر روي يه دکمه اي کليک کرد تمام سطرهاي ديتاگريدويو پاک بشه
یا به عبارتی چطوری میتونم تمامی سطرهای دیتاگرید رو انتخاب کنم چون دستور select فقط سطر اول دیتاگرید رو اتخاب میکنه
ممنون

مشکل اصلی چیه؟
اگر میخواهید چیزی نشان داده نشه DatSource را نال قرار بده، ولی تاحالا به اینکه دلیل اینکه چنین چیزی که درخاست کردید نیازی باشد را ندیدم، اگر چرا به این روش نیاز هست را بفرستید جواب مناسبتر میفرستیم.

saber4166
سه شنبه 24 فروردین 1389, 11:12 صبح
سلام


dataDrigView.Rows.Clear();

كه حتي نياز نيست رديفي رو انتخاب كني خودش تمام رديف ها رو حذف ميكنه

اَرژنگ
سه شنبه 24 فروردین 1389, 11:16 صبح
سلام


dataDrigView.Rows.Clear();


تا حالا به حالتی که این کد در عمل استفاده بشه برخوردید؟ دلیل اینکه میپرسم این است که یادبگیرم که کی این روش کاربرد دارد؟

saber4166
سه شنبه 24 فروردین 1389, 11:21 صبح
تا حالا به حالتی که این کد در عمل استفاده بشه برخوردید؟ دلیل اینکه میپرسم این است که یادبگیرم که کی این روش کاربرد دارد؟

بله وقتي نياز بود در يه dataGridView اضافه كنم اما بعد دوباره با Search جديد قبلي ها رو از dataGridView بردارم و جديد ها رو يكي يكي اضافه كنم

sina.md
سه شنبه 24 فروردین 1389, 11:23 صبح
عزیزم این کارت رو راه میندازه


void ClearGrid(DataGridView objDGview)
{
DataGridViewRowCollection row = objDGview.Rows;

int i = row.Count - 1;
while (i >= 0)
{
row.RemoveAt(i);
i--;}
}

اَرژنگ
سه شنبه 24 فروردین 1389, 11:30 صبح
بله وقتي نياز بود در يه dataGridView اضافه كنم اما بعد دوباره با Search جديد قبلي ها رو از dataGridView بردارم و جديد ها رو يكي يكي اضافه كنم

این روش به نظر اشتباه میاد، با ست کردن داتاسورس احتیاجی به پاک کردن و اینگونه مدیریت دستی نیست.

وقتی که نتایج جدید را جستجو برگردانده میشه داتاسورس را ست میکنید، فقط همین.

این روش یکی یکی اضافه کردن به داتاگرید ویو دلیلی دارد ؟

اَرژنگ
سه شنبه 24 فروردین 1389, 11:34 صبح
عزیزم این کارت رو راه میندازه


void ClearGrid(DataGridView objDGview)
{
DataGridViewRowCollection row = objDGview.Rows;

int i = row.Count - 1;
while (i >= 0)
{
row.RemoveAt(i);
i--;}
}

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

در ضمن با اینکه این روش اشتباه است، باید نال نبودن گرید ویو را اول چک کنید.

saber4166
سه شنبه 24 فروردین 1389, 11:41 صبح
این روش به نظر اشتباه میاد، با ست کردن داتاسورس احتیاجی به پاک کردن و اینگونه مدیریت دستی نیست.

وقتی که نتایج جدید را جستجو برگردانده میشه داتاسورس را ست میکنید، فقط همین.

این روش یکی یکی اضافه کردن به داتاگرید ویو دلیلی دارد ؟

ولي بنده مجبور بودم تك تك row هايي كه قرار بود به dataGridاضافه كنم رو در جاي ديكه چك كنم اگر ID اون row وجود داشت بعد Row اضافه ميشد و row هاي ديگه هم به همين شكل
ايا به نظر شما روش ديگه اي وجود داره اگر داره و ياد بدين تشكر ميكنم

اَرژنگ
سه شنبه 24 فروردین 1389, 11:47 صبح
ولي بنده مجبور بودم تك تك row هايي كه قرار بود به dataGridاضافه كنم رو در جاي ديكه چك كنم اگر ID اون row وجود داشت بعد Row اضافه ميشد و row هاي ديگه هم به همين شكل
ايا به نظر شما روش ديگه اي وجود داره اگر داره و ياد بدين تشكر ميكنم

چندین روش بهتر وجود دارد: Linq , فیلتر کردن با DataTable.Select / Filter , ...

ولی اینها داتارو هستند؟ اصلاً چرا قبل از اینکه در داتاگرید نشانشان بدید از داتاتیبلشان حذفشان نمیکنید؟ اونطوری فقط داتاسورس ست میشه و کد خیلی یکسانتر میماند.

saber4166
سه شنبه 24 فروردین 1389, 15:02 عصر
چندین روش بهتر وجود دارد: Linq , فیلتر کردن با DataTable.Select / Filter , ...

ولی اینها داتارو هستند؟ اصلاً چرا قبل از اینکه در داتاگرید نشانشان بدید از داتاتیبلشان حذفشان نمیکنید؟ اونطوری فقط داتاسورس ست میشه و کد خیلی یکسانتر میماند.

چون اين عمل جستجو مي تواند n بار فقط در يك مراجعه به اون صفحه باشه ور هر بار جستجو بايد نتيجه اش در DataGridView نمايش داده شود و نميدانيم چند بار قرار است اين عمل جستجو انجام شود

بسيار تشكر ميكنم از راهنماييتون ولي اكر بنده رو بيشتر راهنمايي بفرماييد بسيار تشكر ميكنم از شما

اَرژنگ
سه شنبه 24 فروردین 1389, 15:13 عصر
چون اين عمل جستجو مي تواند n بار فقط در يك مراجعه به اون صفحه باشه ور هر بار جستجو بايد نتيجه اش در DataGridView نمايش داده شود و نميدانيم چند بار قرار است اين عمل جستجو انجام شود

بسيار تشكر ميكنم از راهنماييتون ولي اكر بنده رو بيشتر راهنمايي بفرماييد بسيار تشكر ميكنم از شما

مهم نیست که چند بار قراره این عمل انجام بشه، با ست کردن داتاسورس فقط آخرین داده‌ها نشان داده میشن.
اگر کد بفرتین راحتر میشه راهنمائی کرد،

saber4166
سه شنبه 24 فروردین 1389, 19:35 عصر
مهم نیست که چند بار قراره این عمل انجام بشه، با ست کردن داتاسورس فقط آخرین داده‌ها نشان داده میشن.
اگر کد بفرتین راحتر میشه راهنمائی کرد،

ممكنه يه SAmpel قرار بدين تا كدشو ببينم

اَرژنگ
سه شنبه 24 فروردین 1389, 22:08 عصر
ممكنه يه SAmpel قرار بدين تا كدشو ببينم
http://barnamenevis.org/forum/showthread.php?p=952137#post952137