如果网格视图为空,如何使网格视图页脚控件可见

萨塔尔·贾马利

我的页面中有一个网格视图控件,可以索引所有Lecture Contents. 我添加了一个Text Box控件和一个Link Button. 但是对于还没有内容的 Lectures,Grid View则不会出现。尝试了很多引用,结果页脚出现了,但我无法Controls在页脚中使用 插入数据我的主要目标是使Controls两种情况下行为相同。这是网格视图代码。

`<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" EmptyDataText="No Contents found for this lecture." ShowFooter="true" HeaderStyle-Wrap="false" Width="70%" CssClass="Grid" AlternatingRowStyle-CssClass="alt" PagerStyle-CssClass="pgr" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <AlternatingRowStyle BackColor="White" />
    <Columns>
      <asp:TemplateField HeaderText=" LectureID " SortExpression="lecc_id">
         <ItemTemplate>
            <asp:Label ID="lbllecc_id" runat="server" Text='<%# Bind("lecc_id") %>'></asp:Label>
         </ItemTemplate>
         <FooterTemplate>
            <asp:Label ID="lbllecc_id" runat="server" T`enter code here`ext="Create New">
   </asp:Label>
         </FooterTemplate>
      </asp:TemplateField>
      <asp:TemplateField HeaderText=" Content " SortExpression="lecc_contents">
            <EditItemTemplate>
                <asp:TextBox ID="tblecc_contents" runat="server" Text='<%# Bind("lecc_contents") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="lbllecc_contents" runat="server" Text='<%# Bind("lecc_contents") %>'></asp:Label>
            </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="txtcontent" runat="server"></asp:TextBox>
             <asp:RequiredFieldValidator ID="rfcontent" runat="server" ErrorMessage="Content field cannot be blank." ControlToValidate="txtcontent" Text="*" ForeColor="Red"></asp:RequiredFieldValidator>                                           
            <asp:LinkButton ID="createcontent" runat="server" OnClick="createcontent" CssClass="btn-sm btn-default">Insert Content</asp:LinkButton>
        </FooterTemplate>
      </asp:TemplateField>
    </Columns>
    </EmptyDataTemplate>
    <FooterStyle BackColor="#CCCC99" />
    <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" Font-Size="17px" />
    <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
    <RowStyle BackColor="#F7F7DE" Font-Bold="False" Font-Size="14px" />
    <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
    <SortedAscendingCellStyle BackColor="#FBFBF2" />
    <SortedAscendingHeaderStyle BackColor="#848384" />
    <SortedDescendingCellStyle BackColor="#EAEAD3" />
    <SortedDescendingHeaderStyle BackColor="#575357" />
</asp:GridView>`

以及网格视图函数背后的代码。

`protected void Page_Load(object sender, EventArgs e){
if (Session["fac_username"] != null)
{
    String username = Convert.ToString(Session["fac_username"]);
    if (!IsPostBack)
    {
        BindGridViewData();
    }
}
else
{
    Response.Redirect("~/Account/Login.aspx");
}
}protected void BindGridViewData(){
int lecID = Convert.ToInt32(Session["lecID"]);
GridView1.DataSource = DataAccessLayer.getAllContents(lecID);
GridView1.DataBind();}            protected void GridView1_SelectedIndexChanged(object sender, EventArgs e){
            }
protected void createcontent(object sender, EventArgs e){
int lecID = Convert.ToInt32(Session["lecID"]);
con.Open();
SqlCommand command = new SqlCommand("insert into uni_lect_content(lecc_id, lecc_contents) values(@lecc_id, @lecc_contents)", con);
command.Parameters.AddWithValue("@lecc_id", lecID);
command.Parameters.AddWithValue("@lecc_contents", ((TextBox)GridView1.FooterRow.FindControl("txtcontent")).Text);
command.ExecuteNonQuery();
con.Close();
lblmsg.Text = "New Course Successfully Created..!";}`

DataAccessLayer 类的getAllConents()方法在这里。

`public class AllContents
{
    public long lecc_id { get; set; }
    public string lecc_contents { get; set; }
}
public class DataAccessLayer
{
    public static List<AllContents> getAllContents( int lecID){
        List<AllContents> listAll = new List<AllContents>();
        string cs = ConfigurationManager.ConnectionStrings["ILMSConnectionString"].ConnectionString;
        using (SqlConnection con = new SqlConnection(cs))
        {

            SqlCommand com = new SqlCommand("select lecc_id, lecc_contents from uni_lect_content, uni_lectures, uni_offered_courses where uni_lect_content.lecc_id = uni_lectures.lec_id and uni_lectures.cours_offer_id = uni_offered_courses.cours_offer_id and lecc_id = '"+lecID+"'", con);
            con.Open();
            SqlDataReader rdr = com.ExecuteReader();
            while (rdr.Read())
            {
                AllContents obj = new AllContents();
                obj.lecc_id = Convert.ToInt32(rdr["lecc_id"]);
                obj.lecc_contents = rdr["lecc_contents"].ToString();
                listAll.Add(obj);

            }
        }
    return listAll;
}`

帮助我摆脱这种情况。提前致谢。

Vipin G

前端 GRDIVIEW

<asp:GridView ID="grdview" ShowFooter="true" OnRowEditing="grdview_RowEditing" OnRowCancelingEdit="grdview_RowCancelingEdit" OnRowCommand="grdview_RowCommand" OnRowUpdating="grdview_RowUpdating" runat="server" AutoGenerateColumns="false">
                    <Columns>
                        <asp:TemplateField HeaderText="SR No.">
                            <ItemTemplate>
                                <%#Container.DataItemIndex+1 %>
                                <asp:Label ID="lblid" runat="server" Text='<%#Eval("Id") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderText="Emp Name">
                            <ItemTemplate>
                                <asp:Label ID="elblempname" runat="server" Text='<%#Eval("EmpName") %>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="etxtempname" runat="server" Text='<%#Eval("EmpName") %>'></asp:TextBox>
                            </EditItemTemplate>
                             <FooterTemplate>
                                <asp:TextBox ID="ftxtempname" runat="server" ></asp:TextBox>
                            </FooterTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderText="Emp No">
                            <ItemTemplate>
                                <asp:Label ID="elblempno" runat="server" Text='<%#Eval("EmpNo") %>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="etxtempno" runat="server" Text='<%#Eval("EmpNo") %>'></asp:TextBox>
                            </EditItemTemplate>
                             <FooterTemplate>
                                <asp:TextBox ID="ftxtempno" runat="server" ></asp:TextBox>
                            </FooterTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderText="Email">
                            <ItemTemplate>
                                <asp:Label ID="elblempemail" runat="server" Text='<%#Eval("Email_Id") %>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="etxtempemail" runat="server" Text='<%#Eval("Email_Id") %>'></asp:TextBox>
                            </EditItemTemplate>
                       <FooterTemplate>
                                <asp:TextBox ID="ftxtempemail" runat="server" ></asp:TextBox>
                            </FooterTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderText="Age">
                            <ItemTemplate>
                                <asp:Label ID="elblempage" runat="server" Text='<%#Eval("Age") %>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="etxtempage" runat="server" Text='<%#Eval("Age") %>'></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="ftxtempage" runat="server" ></asp:TextBox>
                                <asp:Button ID="btnAdd" CommandName="AddNew" runat="server" Text="Add" />
                            </FooterTemplate>
                        </asp:TemplateField>
 </Columns>
                </asp:GridView>

后端代码

 ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
                        grdview.DataSource = ds;
                        grdview.DataBind();
                        int columncount = grdview.Rows[0].Cells.Count;
                        grdview.Rows[0].Cells.Clear();
                        grdview.Rows[0].Cells.Add(new TableCell());
                        grdview.Rows[0].Cells[0].ColumnSpan = columncount;
                        grdview.Rows[0].Cells[0].Text = "No Records Found";
 if (e.CommandName == "AddNew")
        {
            TextBox ftxtempname = (TextBox)grdview.FooterRow.FindControl("ftxtempname");
            TextBox ftxtempno = (TextBox)grdview.FooterRow.FindControl("ftxtempno");
            TextBox ftxtempemail = (TextBox)grdview.FooterRow.FindControl("ftxtempemail");
            TextBox ftxtempage = (TextBox)grdview.FooterRow.FindControl("ftxtempage");
            using (con)
            {
                SqlCommand cmd = new SqlCommand("usp_add_upd_emptb", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@EmpName", ftxtempname.Text);
                cmd.Parameters.AddWithValue("@EmpNo", ftxtempno.Text);
                cmd.Parameters.AddWithValue("@Desig", ftxtempage.Text);
                cmd.Parameters.AddWithValue("@Email", ftxtempemail.Text);

                con.Open();
                 cmd.ExecuteNonQuery();
}

这是一个完整的工作代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据网格视图可见性

来自分类Dev

在网格视图控件中查找控件

来自分类Dev

如何处理用户控件网格视图的事件?

来自分类Dev

如何在网格视图asp控件中显示图像?

来自分类Dev

当数据网格行在网格中不可见时,如何避免空引用异常?

来自分类Dev

如果集合视图为空,则摆脱子视图

来自分类Dev

局部视图为空

来自分类Dev

网格视图用户控件使用会话

来自分类Dev

网格视图的编辑模式下的文本框不可见?

来自分类Dev

如何获得网格可见行的计数?

来自分类Dev

如何使网格视图完全响应

来自分类Dev

膨胀的地图视图显示空网格

来自分类Dev

膨胀的地图视图显示空网格

来自分类Dev

Fragment中的视图为空

来自分类Dev

如何通知视图不再可见

来自分类Dev

Android 可见视图

来自分类Dev

如何在网格视图的RowCommand方法中找到标签控件?

来自分类Dev

如何在网格视图的RowCommand方法中找到标签控件?

来自分类Dev

单击网格视图控件中的链接按钮以打开弹出窗口

来自分类Dev

C#在网格视图中动态添加控件

来自分类Dev

用户控件视图/窗口中的网格列宽度

来自分类Dev

用户控件“视图/窗口”中的“网格”列宽度

来自分类Dev

如何在视图框内拉伸网格

来自分类Dev

如何找到网格视图按钮单击事件?

来自分类Dev

如何突出显示选中的网格视图项?

来自分类Dev

如何获取网格视图的行值

来自分类Dev

如何突出显示选中的网格视图项?

来自分类Dev

如何在视图中放置网格

来自分类Dev

如何设计这个网格视图 xml 页面?