View Full Version : مشکل attribute در datagrid
monster_ant
پنج شنبه 12 مرداد 1385, 10:43 صبح
<P>سلام... من از کد زیر برای نمایش پیغام قبل از اجرای command استفاده می کنم..</P>
<P align=left>
</P>
<P align=left>Protected Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound</P>
<P align=left>Dim img As ImageButton = CType(e.Item.FindControl("ImageButton8"), ImageButton)</P>
<P align=left>img.Attributes("onclick") = "javascript:return confirm('آیا مطمئن هستید؟')"</P>
<P align=left>End Sub</P>
<P align=left></P>
ولی خطا میده .....
imagebutton8 بصورت itemtemplate استفاده می شه
mahdi_negahi
پنج شنبه 12 مرداد 1385, 10:47 صبح
خطات چیه خطات بگو یعد شما این کد کجا نوشته اید؟
monster_ant
پنج شنبه 12 مرداد 1385, 10:53 صبح
متن خطا....
Object reference not set to an instance of an object.
من این کد رو داخل تابع ItemDataBound دیتا گریدم نوشتم....
mahdi_negahi
پنج شنبه 12 مرداد 1385, 11:14 صبح
image.Attributes.Add("onclick","javascript:return confirm('آیا مطمئن هستید؟')")
monster_ant
پنج شنبه 12 مرداد 1385, 11:33 صبح
فرقی نمیکنه همون خطا رو میده.........:متفکر:
mahdi_negahi
پنج شنبه 12 مرداد 1385, 11:54 صبح
تابعی که با جاوا نوشته اید و خطی که خطا میگرد را بنویسید
monster_ant
پنج شنبه 12 مرداد 1385, 12:25 عصر
دوست عزیز مسئله زیاد پیچیده نیست......مشکل از کد های serverside هست...
ردیفی که تو datagrid قسمت itemtemplateتعریف شده.....
<asp:TemplateColumn>
<ItemTemplate>
<asp:ImageButton ID="ImageButton8"
runat="server"
CausesValidation="false"
CommandName="delete"
ImageUrl="~/img/img/cut.gif"
ToolTip="¥¨ه ©کی©§"/>
</ItemTemplate>
</asp:TemplateColumn>
کدی هم که قسمت codebehind نوشته شده
Protected Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound
Dim img As ImageButton = CType(e.Item.FindControl("ImageButton8"), ImageButton)
img.Attributes.Add("onclick", "javascript:return confirm('آیا مطمئن هستید؟')")
End Sub
و خطایی هم که رخ میده مربوط به مقدار دهی متغیر img هست....
منظور من از این کد ها اینه که قبل از پاک کردن ردیف پیغام سوال ظاهر بشه و در صورت تایید commandمربوطه اجرا بشه.......
Behrouz_Rad
جمعه 13 مرداد 1385, 22:43 عصر
باید هم این خطا گرفته بشه!
اولین کاری که باید در روال ItemDataBound و امثالهم انجام بدی، تعیین نوع ردیف پردازشی هست!
این کار رو باید با دستور زیر انجام بدی:
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
چون اولین سطر در DataGrid، سطر Header هست و مسلما ImageButton های تو در Data Row ها قرار دارند، ImageButton ای در Header پیدا نمیشه و خطایی که اشاره کردی رخ میده!
موفق باشی.
yavari
یک شنبه 15 مرداد 1385, 05:26 صبح
سلام
منم این کارو میخوام با عناصر دیتالیستم انجام بدم اما برا بار اول جواب نمیده و برا بعدیا مشکلی نداره
اینجوری تعریف کردم که برا آیتم کامند ، دیتالیست اگه مثلا آیتم اول انتخاب شد ، اتریبیوت OnClick اون آیتمی که
تو دیتالیستم هست را مقدار دهی کردم با آلرتم
اما برا کلیک اول جواب نمیده
چرا ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ممنون
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.