GridView не отображается в ASP.NET? - PullRequest
       3

GridView не отображается в ASP.NET?

0 голосов
/ 26 сентября 2019

По какой-то причине мой gridview не отображается.При отладке я получаю строки и столбцы из базы данных при проверке Results.Я использую вид, чтобы получить нужные мне поля.Я попытался установить AutoGenerateColumns в true, но безуспешно.Я что-то упустил?

Моя страница aspx:

<asp:Content ID="ContentMain" ContentPlaceHolderID="cphMain" runat="Server">
 <asp:Panel ClientIDMode="Static" ID="meritData" runat="server" Visible="false" CssClass="dataTable">
            <h5>Faculty Teaching Assignments</h5>
            <p id="pMeritMsg" runat="server" class="userMsg"></p>
            <asp:GridView ID="gridFTA" runat="server" AutoGenerateColumns="false"
                ShowHeaderWhenEmpty="true"
                ShowFooter="true"
                DataKeyNames="FacultyId">
                <Columns>
                    <asp:TemplateField HeaderText="Faculty Name">
                    <ItemTemplate>
                        <asp:Label ID="txtFacultyName" runat="server" Text='<%#Bind("FacultyName") %>'/>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Label ID="lblFacultyName" runat="server" width="40px" Text='<%#Bind("FacultyName") %>'/>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="inFacultyName" width="140px" runat="server"/>

                    </FooterTemplate>
                </asp:TemplateField>
                 <asp:TemplateField HeaderText="Number Of Courses">
                      <ItemTemplate>
                         <asp:Label ID="lblNumberOfCourses" runat="server" Text='<%#Bind("NumberOfCourses") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:TextBox ID="txtNumberOfCourses" width="70px"  runat="server" Text='<%#Bind("NumberOfCourses") %>'/>
                     </EditItemTemplate>
                     <FooterTemplate>
                         <asp:TextBox ID="inNumberOfCourses"  width="120px" runat="server"/>

                     </FooterTemplate>
                 </asp:TemplateField>
                 <asp:TemplateField HeaderText="Adjustment">
                     <ItemTemplate>
                         <asp:Label ID="lblAdjustment" runat="server" Text='<%#Bind("Adjustment") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:Label ID="lblAdjustment" runat="server" visible = "false" Text='<%#Bind("Adjustment") %>' />
                     </EditItemTemplate>
                    <FooterTemplate>
                       <asp:TextBox ID="inAdjustment" width="50" runat="server" >
                                 </asp:TextBox>

                    </FooterTemplate>
                 </asp:TemplateField>
                    <asp:TemplateField HeaderText="Reason">
                     <ItemTemplate>
                         <asp:Label ID="lblReason" runat="server" Text='<%#Bind("Reason") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:Label ID="lblReason" runat="server" visible = "false" Text='<%#Bind("Reason") %>' />
                     </EditItemTemplate>
                    <FooterTemplate>
                       <asp:TextBox ID="inReason" width="50" runat="server" >
                                 </asp:TextBox>

                    </FooterTemplate>
                 </asp:TemplateField>
                     <asp:TemplateField HeaderText="Course">
                     <ItemTemplate>
                         <asp:Label ID="lblCourse" runat="server" Text='<%#Bind("CourseNumber") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:Label ID="lblCourse" runat="server" visible = "false" Text='<%#Bind("CourseNumber") %>' />
                     </EditItemTemplate>
                    <FooterTemplate>
                       <asp:TextBox ID="inCourse" width="50" runat="server" >
                                 </asp:TextBox>

                    </FooterTemplate>
                 </asp:TemplateField>

                 <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:Button ID="ButtonUpdate" runat="server" CommandName="Update"  Text="Update"  />
                        <asp:Button ID="ButtonCancel" runat="server" CommandName="Cancel"  Text="Cancel" />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Button ID="ButtonEdit" runat="server" CommandName="Edit"  Text="Edit"  />        
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:Button ID="ButtonAdd" runat="server" CommandName="AddNew"  Text="Add New Faculty Teaching Assignment" />
                    </FooterTemplate>
                 </asp:TemplateField>
                </Columns>
            </asp:GridView>
</asp:Panel>
</asp:Content>

Мой код:

protected clsData moData = new clsData();

    protected void Page_Load(object sender, EventArgs e)
    {       
        if (!IsPostBack)
        {
            HttpContext.Current.Session["FTA"] = "";
            BindData("");

        }
    }

    protected void BindData(String FTA)
    {
        DataTable Results = moData.GetFTA(FTA);
        gridFTA.DataSource = Results;
        gridFTA.DataBind();
    }

Код из базы данных

public DataTable GetFTA(
       string FTA)
    {
        // Prepare connection
        SqlConnection conn = new SqlConnection(msConnString);

        // Prepare command
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;

        if (FTA == "")
        { cmd.CommandText = "Select * from View_FTA order by FacultyName"; }




        DataTable dt = new DataTable();

        try
        {
            conn.Open();
            dt.Load(cmd.ExecuteReader());
        }
        catch (Exception ex)
        {
            logException(ex);
        }
        finally
        {
            conn.Close();
        }

        return dt;
    }

1 Ответ

0 голосов
/ 26 сентября 2019

Ваш asp:Panel имеет Visible, установленный на false.Это заставляет механизм ASP.NET вообще не отображать элемент управления (и его содержимое).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...