PDA

View Full Version : استفاده از نتیجه کلیک روی لینک باتن در گریدویو



!mahdi!
پنج شنبه 09 شهریور 1391, 17:36 عصر
سلام به همگی
من یه گریدویو دارم که توش مثلا نام و نام خانوادگی و id و ... دارم که از دیتابیس میخونه و پر میکنه
همگی این فیلد ها هم بایند شدن به دیتابیس
بجز این فیلدها یه فیلد دیگری بنام جزئیات دارم که از یه تمپلیت فیلد استفاده کردم و کاربر وقتی روی این لینک باتن کلیک کنه میتونه جزئیات اون سطر کلیک شده رو ببینه(بصورت کوئری استرینگ در صفحه دیگری باید id اون سطر فرستاده شود و در لود اون صفحه برای نمایش جزئیات اون سطر بر اساس id سرچ انجام شود)
فکر کنم از command arguman بتونم کمک بگیرم ولی دستور و نحوه کارشو بلد نیستم
با کد #C دارم مینویسم ،ممنون میشم راهنمایی ام کنید

meisam12
جمعه 10 شهریور 1391, 00:05 صبح
سلام
برو در item template gridview و در قسمت command Argument در option تکست اون آی دی که می خواهی ازش استفاده کنی ررا پاس بده. البته شما برای کنترل جزئیات باید خاصیت Command Name را نام بدهید که بعداً اگر کلیک کردید چک کنید که آیا اون کنترل کلیک شده است یا نه؟ من خاصیت Command Nameآن کنترل را DoEdit قرار دادم.
شما می توانید در قسمت <column> </column> دستورات زیر را قرار دهید وگرنه باید به صورت دستی مثل چیزهایی که گفته شد انجام دهید.

<asp:TemplateField HeaderText="دستورات">
<ItemTemplate>
<asp:LinkButton ID="lbEdit" runat="server" CommandArgument='<%# Eval("PageID") %>'
CommandName="DoEdit">ویرایش</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>

و بعد در رویداد RowCommand کد زیر را بنویسید. البته RowCommand را باید شما روی گرید ویو کلیک کنید و از Propertise روی گزینه Events کلیک کنید و روی RowCommand دابل کلیک کنید.

protected void grdPages_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "DoEdit")
{
int PageID = Convert.ToInt32(e.CommandArgument);//اون ID که روش کلیک شده است

//your source code
}
}

ssmmoo
یک شنبه 13 مرداد 1392, 17:21 عصر
خب آقا میثم این شماره ستون رو میده چطوری به ای دی دسترسی داشته باشیم (مشکل منم هست )....مرسی