PDA

View Full Version : نمایش باتون ویرایش در گرید ویو برای هر کاربر



sam166
جمعه 03 خرداد 1392, 11:11 صبح
سلام دوستان خسته نباشید
یه سوالی چند وقته ذهنمو مشغول کرده نمیدونم چطور پیاده سازیش کنم!!!

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

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

و به همین صورت هر کاربری که وارد شده فقط باتون مخصوص به خودش نمایان بشه

ali9698
جمعه 03 خرداد 1392, 15:16 عصر
فکر کنم منظورتون رو فهمیدم. شما میتونید برای همه سطرها یک دکمه ویرایش بزارید و در رویداد rowdatabound هر سطر را بررسی کنید و اگر مربوط به کاربر لاگین شده نیست visible رو false کنید

sam166
جمعه 03 خرداد 1392, 17:39 عصر
خودم پیداش کردم

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

بعد تو گرید ویو مقایسش میکنم با کسی که پست ارسال کرده
اگر اون شخص بود دکمه ویرایش رو فعال در غیر اینصورت مخفی میکنم

protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
{

foreach (GridViewRow myrow in GridView3.Rows)
{
LinkButton lnkremove = (LinkButton)myrow.Cells[0].FindControl("lnkremove");
LinkButton lnkedit = (LinkButton)myrow.Cells[0].FindControl("lnkedit");
LinkButton lnkk = (LinkButton)myrow.Cells[0].FindControl("LinkButton2");
string ll = lnkk.Text;
if (ll == username)
{
lnkedit.Visible = true;
lnkremove.Visible=true;
}
else{
lnkedit.Visible = false;
lnkremove.Visible = false;
}
}

}

Cybersilent
یک شنبه 05 خرداد 1392, 15:32 عصر
یه کار بهتر هم فکر کنم می تونستی انجام بدی


Enable='<%# FunctionCanSee(Eval("id")) %>'

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