SqlDataSource agrega nuevas columnas a Gridview?

<div style="width:100%; height:200px; overflow:scroll; border-color:White;">
        <asp:GridView ID="UsersGridView" runat="server" 
            CssClass="label" ShowHeaderWhenEmpty="True" Width="100%" 
            AllowSorting="True" HeaderStyle-BackColor="LightGray" CellPadding="4" 
            ForeColor="#333333" GridLines="None" DataSourceID="UsersDataSource" >
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <Columns>
                <asp:BoundField HeaderText="Fleet Description" ReadOnly="True" 
                    HeaderStyle-Wrap="false" HtmlEncode="True" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
                <asp:BoundField DataField="Fleet Code" HeaderText="Fleet Code" ReadOnly="True" 
                    HeaderStyle-Wrap="false" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
                <asp:BoundField DataField="First Name" HeaderText="First Name" ReadOnly="True" 
                    HeaderStyle-Wrap="false" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
                <asp:BoundField DataField="Last Name" HeaderText="Last Name" ReadOnly="True" 
                    HeaderStyle-Wrap="false" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
                <asp:BoundField DataField="Username" HeaderText="User Name" ReadOnly="True" 
                    HeaderStyle-Wrap="false" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
                <asp:BoundField DataField="Email" HeaderText="Email" ReadOnly="True" 
                    HeaderStyle-Wrap="false" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
                <asp:BoundField DataField="Phone" HeaderText="Phone" ReadOnly="True" 
                    HeaderStyle-Wrap="false" >
                    <HeaderStyle Wrap="False"></HeaderStyle>
                </asp:BoundField>
            </Columns>
            <EditRowStyle BackColor="#999999" />
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White"></HeaderStyle>
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
        </asp:GridView>
        <asp:SqlDataSource ID="UsersDataSource" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
            SelectCommand="SELECT        UserDataAssociation.Fleet as &quot;Fleet Code&quot;, UserDataAssociation.FirstName as &quot;First Name&quot;, UserDataAssociation.LastName as &quot;Last Name&quot;, aspnet_Users.UserName, aspnet_Membership.Email, 
                     UserDataAssociation.Phone
FROM            aspnet_Membership INNER JOIN
                     aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId INNER JOIN
                     UserDataAssociation ON aspnet_Membership.UserId = UserDataAssociation.UserId"></asp:SqlDataSource>
    </div>

Tengo esta vista de cuadrícula para sqldatasource con una declaración de selección. Sin embargo, cuando se carga la página, la vista de cuadrícula tiene el doble de sus columnas originales, creadas por la fuente de datos. Me gustaría que ese no fuera el caso, obviamente.

¿Qué estoy haciendo mal?

Muchas Gracias

preguntado el 04 de julio de 12 a las 09:07

2 Respuestas

Seleccione las Gridview AutoGenerateColumns propiedad a Falso

Respondido 04 Jul 12, 09:07

Hay una opción para "Generar automáticamente campos" en el menú de edición de columnas, desmárcala. Cuando seleccionó SqlDataSource como su fuente de datos, creó las columnas y, por alguna razón, no desmarcó la opción de generación automática de campos, razón por la cual la está creando dos veces. Cuando haga clic en la vista de cuadrícula, habrá una pequeña flecha blanca en la esquina superior derecha que brinda más opciones, si expande ese menú, haga clic en "Editar columnas", y luego puede desmarcar los "campos generados automáticamente" opción. O simplemente establezca el AutoGenerateColumns propiedad a false.

enter image description here

Respondido 04 Jul 12, 09:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.