PDA

View Full Version : سوال: مشکل در حذف فایل در گرید



behnet
دوشنبه 09 فروردین 1389, 17:15 عصر
سلام.خسته نباشین
من یک گرید دارم که قراره اطلاعات جدولمو نشون بده و دارای دکمه حذف هم باشه.
اما این حذف هم باید اطلاهات جدولمو پاک کنه و هم یک فایل که آدرسش در فیلد downlink جدول هستش رو پاک کنه.

برای این کار از چه کدی استفاده کنم که بتونم مقدار ستون downlink رو زمانی که روی دکمه حذف کلیک میشه بدست بیارم و فایلمو پاک کنم؟

ممنون از لطفتون

ironman
دوشنبه 09 فروردین 1389, 17:48 عصر
دوست عزیز از سوالتون معلومه که میخواید داخل سطر های grid حرکت کنید:متفکر:
برای این کار میتونید از دستور
gridview.rows.cells [X] استفاده کنید که X شماره سطر مورد نظر هست.

behnet
پنج شنبه 12 فروردین 1389, 16:23 عصر
دوست عزیز ممنون از جوابتون .

اما مشکلم دقیقا اونی که شما گفتین نیست بلکه مشکلم اینه که چجوری شماره ردیف رو وقتی روی یه دکمش کلیک شد بدست بیارم و توی کد شما بزارم؟؟

meysampaknahad
جمعه 13 فروردین 1389, 01:11 صبح
سلام
دوست عزیز برای بدست آوردن شماره سطر مورد نظر ، اگر در جدول دیتابیستون فیلدی مثل id داشته باشید و اون رو هم با Select تون انتخاب کنید ، در داخل گرید ویو خیلی راحت می تونید با تعریف متغیری مثل id@ مقدار اون رو در سطری که انتخاب شده بدست بیارید. در ضمن فکر نمی کنم پیدا کردن شماره سطر کمکی بهتون بکنه (با شماره سطر میخاید چی کار کنید؟)
موفق باشید.

behnet
جمعه 13 فروردین 1389, 22:21 عصر
از دوستان کسی نیس راهنماییم کنه.خیلی ضروریه؟

ironman
شنبه 14 فروردین 1389, 11:31 صبح
منظورتون زیاد واضح نیست!!!!!!:متفکر:
شما میتونید با select کردن یه سطر در گرید اون سطر رو انتخاب کنید و با دستوری که قبلا عرض کردم داخل فیلدهای اون سطر حرکت کنید!!!!!
بفرمایید دقیقا میخواید چه کاری انجام بدید تا بهتر بشه راهنمایی کرد

behnet
چهارشنبه 18 فروردین 1389, 10:08 صبح
من یک گرید دارم که قراره اطلاعات جدولمو نشون بده و دارای دکمه حذف هم باشه.
اما این حذف هم باید اطلاهات جدولمو پاک کنه و هم یک فایل که آدرسش در فیلد downlink جدول هستش رو پاک کنه.

من از دكمه هاي پيش فرض گريد كه مثلا واسه select هست واسه كار ديگه استفاده كردم و الان ميخوام يه دكمه جديد ،مثلا template ، و وقتي روي اين دكمه كليك شد كار حذف رو انجام بده.

ولي مشكلم اينه كه نميدونم چه كدي بنويسم تا بفهمم كدام سطر كليك شده و بفهمم مقدار فيلد downlink در اون سطر چي بوده تا بتونم فايل رو پاك كنم


ممنون ميشم جواب بدين

exlord
چهارشنبه 18 فروردین 1389, 10:48 صبح
dataGridView1.CurrentRow
dataGridView1.SelectedRows[0]

behnet
چهارشنبه 18 فروردین 1389, 20:55 عصر
من کد زیر رو نوشتم


string download_link = GridView1.SelectedRow.Cells[0].Text;

این error رو میده
Object reference not set to an instance of an object.

مشکل از کجاس؟؟؟

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 21:15 عصر
شما باید داخل template یه buton یا linkbuton یا ... بذارید. به خصوصیت CommandName مقدار بدید مثلا DeleteThis. خصوصیت دیگه ای هست به نام CommandArgument که می تونید اطلاعات اضافی رو به اون Bind کنید مثلا Id رو. حالا بعد از فشرده شدن دکمه رویداد RowCommand اجرا می شه که دارای پارامتریه به شک زیر


GridViewCommandEventArgs e

از e.CommandName می تونید تشخیص بدید کدوم فرمان ارسال شده (اگه بیشتر از یک دکمه داشته باشید) و برای هر فرمان کد مربوط رو بنویسید.

از e.CommandArgument هم می تونید id مربوط به دکمه فشرده شده رو بدست بیارید و هر کار می خواید بکنید!

alireza_s_84
چهارشنبه 18 فروردین 1389, 22:17 عصر
سلام.خسته نباشین
من یک گرید دارم که قراره اطلاعات جدولمو نشون بده و دارای دکمه حذف هم باشه.
اما این حذف هم باید اطلاهات جدولمو پاک کنه و هم یک فایل که آدرسش در فیلد downlink جدول هستش رو پاک کنه.

برای این کار از چه کدی استفاده کنم که بتونم مقدار ستون downlink رو زمانی که روی دکمه حذف کلیک میشه بدست بیارم و فایلمو پاک کنم؟

ممنون از لطفتون
سلام دوست عزیز:
شما برای گرید ویو DataKey باید تعریف کنی که DataKey میشه کلید اصلی جدول شما.
بعد هنگام حذف با استفاده از همین کلید اون فیلد رو در جدولی که میگی حذف کنی:


protected void dgvOrders_DeleteCommand(object source, DataGridViewCommandEventArgs e)
{
int id = (int)dgvOrders.DataKeys[e.Item.ItemIndex].Value;
ShoppingCart.Cart.RemoveItem(id);
BindData();
}

موفق باشید