Rameez
Rameez

Reputation: 27

Hide show image button based on other column values

I have a Grid View where i have 2 columns (Rating and star). In star column I am showing 5 imagebuttons. What I want is if rating is 1 I want only one star (image button) to be visible,if rating is 2 then 2 image buttons and similarly till 5. Below is my image TemplateField

<asp:TemplateField>
    <ItemTemplate>                    
        <asp:ImageButton ID="ImageButton" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" />                                       
        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" />
        <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" />
        <asp:ImageButton ID="ImageButton3" runat="server"  ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" />
        <asp:ImageButton ID="ImageButton4" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" />
    </ItemTemplate>
</asp:TemplateField>

Upvotes: 0

Views: 703

Answers (1)

ekad
ekad

Reputation: 14614

Assuming that Rating is an integer, you can use inline code

<asp:TemplateField>
    <ItemTemplate>                    
        <asp:ImageButton ID="ImageButton" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" Visible='<%# int.Parse(Eval("rating").ToString()) >= 1 ? true : false %>' />                                       
        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" Visible='<%# int.Parse(Eval("rating").ToString()) >= 2 ? true : false %>' />
        <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" Visible='<%# int.Parse(Eval("rating").ToString()) >= 3 ? true : false %>' />
        <asp:ImageButton ID="ImageButton3" runat="server"  ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" Visible='<%# int.Parse(Eval("rating").ToString()) >= 4 ? true : false %>' />
        <asp:ImageButton ID="ImageButton4" runat="server" ImageUrl="/eur/Home/OfferLetter/images/delete_icon.gif" CausesValidation="false" Visible='<%# int.Parse(Eval("rating").ToString()) >= 5 ? true : false %>' />
    </ItemTemplate>
</asp:TemplateField>

Upvotes: 1

Related Questions