webForumDet fria alternativet

Checkbox med rödflag

.NET

9 svar · 501 visningar · startad av liverpool

Medlem sedan nov. 200468 inlägg
Frågan#1

Hej

Jag använder en gridview för att lista information från en databas. Nu har jag en kolumn som har värdet bit eller en checkbox. När värdet = 1 skall kolumnen vissa en röd flagga. Någon som vet hur man gör det?

Min Kod:

 <asp:CheckBoxField DataField="prioritera" HeaderText="prioritera" 
                        SortExpression="prioritera" />
Medlem sedan nov. 20011 551 inlägg
#2

Leta upp din checkbox i onitemdatabound och instantiera den för raden. kontrollera om den är checkad och kör visible = true på din dolda imagebutton som du lägger bredvid med flaggan, eller har jag fattat fel?

Medlem sedan nov. 200468 inlägg
#3

Hej

Kan du ge lite kod hur den skall se ut :)

Medlem sedan okt. 2007446 inlägg
#4

ersätt ditt checkboxfield med ett templatefield
i det lägger du din bild med visible="false"
och sen i onitemdatabound så kan du istället för att först leta upp checkboxens värde gå direkt på datakällan
nånting i stil med
Dim mydata as _vad nu du har för typ av data _ =e.row.dataitem <-- osäker på exakt syntax där
If MyData.checkboxvärde Then
dinlillabild.visible=true

Medlem sedan nov. 200468 inlägg
#5

Hej

Nu har jag kommit så långt. Vad behöver jag mer fylla i?

 <asp:TemplateField HeaderText="prioritera" SortExpression="prioritera">
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("prioritera") %>' 
                                Enabled="false" /><img src="images/Show.gif" visible="false" />
                        </ItemTemplate>
                       
                    </asp:TemplateField>
Medlem sedan okt. 2007446 inlägg
#6

ändra
<img src="images/Show.gif" visible="false" />
till
<asp:image id="imgFlag" imageUrl="~/images/Show.gif" visible="false" />

vill du visa den där kryssrutan hela tiden, eller bara vid edit?
isåfall skall du ha en <editItemTemplate> med

Medlem sedan nov. 200468 inlägg
#7

Har ändrat lite nu

<asp:TemplateField HeaderText="prioritera" SortExpression="prioritera">
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("prioritera") %>' 
                                Enabled="false" />

<asp:image runat="server" id="imgFlag" imageurl="images/Show.gif" visible="false" />
                        </ItemTemplate>
                       
                    </asp:TemplateField>

Men nu till det svåra. Hur skall koden se för:

Dim mydata as _vad nu du har för typ av data _ =e.row.dataitem <-- osäker på exakt syntax där
If MyData.checkboxvärde Then
dinlillabild.visible=true

Min koppling

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="sid" DataSourceID="SqlDataSource1">
Medlem sedan feb. 20001 590 inlägg
#8

Borde väl räcka med att lägga detta i en templatefield?

<asp:Image ID="Image1" runat="server" Visible='<%# Eval("prioritera") %>' />

Medlem sedan nov. 200468 inlägg
#9

Klockrent!!!

Tack alla för alla svaren :) Så enkelt var det...

Här kommer min kod:
<asp:Image ID="Image1" runat="server" imageurl="images/Show.gif" Visible='<%# Eval("prioritera") %>' />

Medlem sedan okt. 2007446 inlägg
#10

Självklart är den enkla lösningen alltid enklast;)

272 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)