PDA

View Full Version : سوال: استفاده از تصویر در گرید برای استفاده به صورت button



amirjalili
سه شنبه 20 مرداد 1388, 12:42 عصر
سلام..
دوستان من میخوام در gridview در یکی از ستون ها مثلا عکس برای اطلاعات بیشتر بذارم که وقتی روش کلیک شد آی دی اون فیلد خاص رو به صورت querystring پاس بدم به یه صفحه دیگه تا ازش استفاده کنم. (مثلا default.aspx?id=10) ..
حالا نمیدونم از چی استفاده کنم.. buttonfield/imagefield یا چی؟ و چطوری؟
اینقدر به گرید اعتراض کردم و استفاده نکردم که آخر سر گیرش افتادم :گریه::چشمک:

Saber_Fatholahi
سه شنبه 20 مرداد 1388, 13:41 عصر
دوست من از هایپرلینک استفاده کن دقیقا چیزی که می خوای
موفق باشی

amirjalili
سه شنبه 20 مرداد 1388, 20:09 عصر
خوب چی کار کنم که در هایپرلینک به جای لینک عکس دلخواهم رو بذارم؟

amirjalili
سه شنبه 20 مرداد 1388, 20:21 عصر
فهمیدم.. اینطوری



<asp:HyperLinkField DataNavigateUrlFields="file_id" DataTextFormatString="<image src='img/image.gif'/> " DataTextField="file_id" DataNavigateUrlFormatString="default.aspx?id={0}" />

ehsan_asistant
چهارشنبه 21 مرداد 1388, 22:53 عصر
سلام
از template فیلد استفاده کن و در edit template یک ImageBotton بزار و وصلش کن به فیلد عکس ها از
بانکت (در edit databinding)و خاصیتPostBackUrl انو مثلا به این صورت تغییر بده
Eval("fCodeProducts","ShopItem.aspx?fCodeProducts={0}")

احمد سامعی
چهارشنبه 21 مرداد 1388, 23:23 عصر
سلام از اين روش استفاده مي كنم
اول AutoGenerateColumns رو false مي كنم تا خودش ستون ها رو ايجاد نكنه
شما مي توني دو روش استفاده كني يكي از سيستم BoundField خودش كه مقدار DataField برابر نام فيلدي كه از ديتاسورس مي گيري قرار مي دي و بقيه تنظيمات Style رو هم انجام مي دي

يا خودت به وسيله جدول يا Div بسته به نظرت ستون ها رو ايجاد كن و در هر قسمت هم يكي از فيلدهاي جدول قرار بده با دستور زير
<%# Eval("fiedname") %> در مجموع با هر دورش تلفيق كني مثل كد زير مي شه



<asp:GridView ID="GridView1"
runat="server"
AllowPaging="True"
AutoGenerateColumns="False"
CellPadding="0"
ForeColor="#333333"
GridLines="None"
CssClass="Grid"
ShowHeader="False"
onrowdeleting="GridView1_RowDeleting">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:BoundField DataField="id" />
<asp:TemplateField>
<ItemTemplate>
<div align="right" >
<div ><a href='../News.aspx<%#Request.Url.Query %>&ID=<%# Eval("id") %>' target="_blank" title=" عنوان "><%# Eval("field1") %></a></div>
<div ><a href="Newsedit.aspx<%#Request.Url.Query %>&ID=<%# Eval("id") %>"><img alt="ويرايش" src="images/edit.gif" /></a></div>
<div ><asp:ImageButton OnClientClick="return confirmDelete('بعد از حذف امكان بازيابي اطلاعات نيست، آیا براي حذف اين خبر مطمئن هستید؟');" CommandName="Delete" runat="server" ImageUrl="images/delete.gif"/></div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
....... </asp:GridView>

<script type="text/javascript">
function confirmDelete(str)
{
var ret_confirm = confirm(str);
if (ret_confirm == true)
{
return true;
}
else
return false;
}
</script>

همونطور كه مي بيني من هم لينك دادم و هم از عكس براي لينك استفاده كردم و هم از ImageButton براي حذف در همون صفحه كه مقدار CommandName برابر هرچي بزاري مثل دليت يا اديت همون تابع از ديتاسورس كه قبلاً ست كردي فراخواني مي كنه بقيه چيزها هم مربوط به تنظيمات ديتاسورس هست اگر سوالي بود....

پايدار بمانيد.