webForumDet fria alternativet

Gridview + radiobuttonlist värden

.NET

1 svar · 406 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Hej alla glada :)

Jag har en Radiobuttonlist (r1) i en Gridview (Gridview1) med valen 1 för läsrättighet, 10 för All behörighet.
Problemet är att jag inte vet hur jag ska markera rätt val när jag loopar ut datan, då fältet i MSSQL-databasen (2000) är Integer och kan vara null, 1 eller 10. Detta innebär att antingen kan radioknapparna inte vara ikryssade alls (NULL), den första (1) eller den andra (10).

Hur ska man göra detta?


                      <asp:TemplateField>
                        <ItemTemplate>
                          <asp:RadioButtonList ID="r1" runat="server" RepeatDirection="Horizontal">
                          <asp:ListItem Text="Läs" Value="1" />
                          <asp:ListItem Text="Alla" Value="10" />
                          </asp:RadioButtonList>
                        </ItemTemplate>
                      </asp:TemplateField>

Jag försökte med:

    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        If (e.Row.RowState And DataControlRowState.Normal) = DataControlRowState.Normal Then
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim st As New RadioButtonList
                st.Items.FindByValue("värdefråndatabas").Selected = true
            End If
        End If
    End Sub

utan nåt vidare resultat...hur göra?

Medlem sedan mars 20011 346 inlägg
#2

Löste problemet med detta:

                Dim rbl As RadioButtonList = CType(e.Row.FindControl("r1"), RadioButtonList)
                If (Not (rbl) Is Nothing) Then
                    Dim bid As String = String.Empty
                    bid = CType(DataBinder.Eval(e.Row.DataItem, "UserAccess").ToString, String)
                    If bid.Equals("1") Then
                        rbl.SelectedIndex = 0 'LÄS
                    End If
                    If bid.Equals("10") Then
                        rbl.SelectedIndex = 1 'ALLA
                    End If
                End If
262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)