Deekshaa Singh Chauhan Ответов: 0

Почему gridview не виден при запуске


Я добавляю GridView & затем показываю в нем данные из базы данных SQL Server. Проблема заключается в том, что GridView не отображается в браузере с данными или без них.

<pre> <asp:GridView ID="grdLocation" runat="server" AutoGenerateColumns="False" 
         onrowdatabound="grdLocation_RowDataBound" 
         onrowdeleted="grdLocation_RowDeleted" Width="100%" CssClass="grid-view" 
         EnableModelValidation="True" ViewStateMode="Enabled">
        <Columns>   
            <asp:TemplateField HeaderText="Location Name">
                <ItemTemplate>
                    <asp:Label ID="lblShowLocationName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txtEditLocationName" runat="server" Text='<%# Eval("Name") %>'></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvLocationName" runat="server" ControlToValidate="txtEditLocationName" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="LocationUpdate"></asp:RequiredFieldValidator>
                    <%--<asp:RegularExpressionValidator ID="rexvLocationNameEdit" runat="server" ControlToValidate="txtEditLocationName" SetFocusOnError="true" ValidationGroup="Location" ValidationExpression="^[a-zA-Z ]*$" ErrorMessage="Only Alphabets Allowed" Display="Dynamic"></asp:RegularExpressionValidator>--%>
                </EditItemTemplate>
                <HeaderStyle HorizontalAlign="Left" VerticalAlign="Middle" />
                <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Location Code">
                <ItemTemplate>
                    <asp:Label ID="lblShowLocationCode" runat="server" Text='<%# Eval("Code") %>'></asp:Label>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txtEditLocationCode" runat="server" Text='<%# Eval("Code") %>' 
                        ></asp:TextBox>
                    
                </EditItemTemplate>
                <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:ImageButton ID="imgBtnshow" runat="server" ToolTip="View" 
                        CommandArgument='<%# Eval("LocationId") %>' ImageUrl="~/Images/file_edit.png"
                        onclick="imgBtnshow_Click" />
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:ImageButton ID="imgBtnEdit" runat="server" CommandArgument='<%# Eval("LocationId") %>' ImageUrl="~/Images/buttonsave.png" OnClick="imgBtnEdit_Click" ValidationGroup="LocationUpdate" ToolTip="Update" />
                    <asp:ImageButton ID="imgBtnCancel" runat="server" ToolTip="Cancel"
                    ImageUrl="~/Images/1350368827_save_delete.png" onclick="imgBtnCancel_Click"/>
                </EditItemTemplate>
                <ItemStyle Width="50px" />
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:ImageButton ID="imgBtnDelete" runat="server" CommandArgument='<%# Eval("LocationId") %>' ImageUrl="~/Images/delete-256.png" OnClick="imgBtnDelete_Click" OnClientClick="Confirm()" ToolTip="Delete"/>
                </ItemTemplate>
                <ItemStyle Width="50px" />
            </asp:TemplateField>
            
        </Columns>
     </asp:GridView>


Что я уже пробовал:

Я не знаю ,где проблема, есть я думаю, что все в порядке в коде, но почему этот gridview не виден, когда мы бежим.

an0ther1

Покажите свой код, используемый для заполнения datagrid.

Deekshaa Singh Chauhan

общественного недействительными FillGrid()
{
DataTable dt = местоположение.GetAllLocation();
грдлокация.Источник данных = dt;
грдлокация.Привязку();

}

an0ther1

Пожалуйста, используйте Ответить кнопка при ответе человек, оставляющий комментарий, будет уведомлен об этом.
Вы проверили, что у вас действительно есть данные в вашем DataTable? Используйте свой отладчик & confirm.
Сетки данных, которые не имеют данных не будет отображаться, если ShowHeaderWhenEmpty имеет значение true

с уважением

Deekshaa Singh Chauhan

да у меня есть данные в таблице данных bt когда я проверяю с помощью отладчика это не pic данные оттуда

an0ther1

Будет ли уволен ваш обработчик событий для OnDataBound - grdLocation_RowDataBound? Используйте свой отладчик для проверки.
Элемент управления GridView визуализируется в виде таблицы в клиенте, если у вас есть данные & он привязан к сетке, то он должен отображаться - я использовал его сотни раз без проблем.
Как только страница визуализируется (видна на клиенте), что находится в HTML (используйте F12 в Chrome или IE для просмотра инструментов разработчика)?
Кроме того, я бы попробовал сделать его сломанным - изменить привязку данных к столбцу, который, как вы знаете, не существует - например, изменить "имя" на "Nqme" - вы получаете ошибку, что столбец не может быть найден

с уважением

0 Ответов