首页 > 编程语言 >asp:Repeater和UI:Grid数据为空时如何显示表头?

asp:Repeater和UI:Grid数据为空时如何显示表头?

时间:2023-07-29 14:44:29浏览次数:34  
标签:控件 asp Repeater 表头 Add dt Columns row

一、asp:Repeater

Repeater 控件用于显示被绑定在该控件上的项目的重复列表。Repeater 控件可被绑定到数据库表、XML 文件或者其他项目列表。

 

1.1-前台页面代码

 1  <asp:Repeater ID="ImageTypeListNew" runat="server" OnItemCommand="ImageTypeListNew_ItemCommand">
 2                     <HeaderTemplate>
 3                         <table cellspacing="0" border="0" id="ctl00_contentHolder_ImageTypeList">
 4                             <tbody>
 5                                 <tr>
 6                                     <th>名称</th>
 7                                     <th>数量</th>
 8                                     <th>排序</th>
10                                 </tr>
11                     </HeaderTemplate>
12                     <ItemTemplate>
13                         <tr>
14                             <td>
15                                 <asp:HiddenField ID="hfItemIndex" runat="server" Value='<%#Container.ItemIndex %>' />
16                                 <asp:HiddenField ID="hfCategoryId" runat="server" Value='<%#Eval("CategoryId") %>' />
17                                 <Hi:HtmlDecodeTextBox ID="ImageTypeName" runat="server" Text='<%# Bind("CategoryName") %>' CssClass="forminput form-control" Visible='<%#Eval("CategoryId").ToString()!="0" %>' />
18                                 <asp:Label ID="ltlTypeName" runat="server" Text='<%# Bind("CategoryName") %>' Visible='<%#Eval("CategoryId").ToString()=="0" %>'></asp:Label>
19                             </td>
20                             <td>
21                                 <%#Eval("VideoCounts") %>
22                             </td>
23                             <td>
24                                 <asp:Label ID="Label1" runat="server" Text='<%# Bind("DisplaySequence") %>' Visible='<%#Eval("CategoryId").ToString()=="0" %>'></asp:Label>
25                                <asp:TextBox ID="txtDisplaySequence" runat="server" Button="btnSearchButton" CssClass="forminput form-control" value='<%# Eval("DisplaySequence") %>' Visible='<%#Eval("CategoryId").ToString()!="0" %>' onkeyup="this.value=this.value.replace(/\D/g,'')"  style="width: 60px;" onafterpaste="this.value=this.value.replace(/\D/g,'')" />
26                             </td>
29                         </tr>
30                     </ItemTemplate>
31                     <FooterTemplate></tbody></table></FooterTemplate>
32                 </asp:Repeater>

 

 1.2-后台页面代码(核心)

 代码示例:

 1         private void GetImageType()
 2         {
 3             DataTable videoCategories = GalleryHelper.GetVideoCategories(0);
 4 
 5             //如果数据为空,设置第一行数据
 6             DataRow row = videoCategories.NewRow();
 7             row["CategoryId"] = "";
 8             row["CategoryName"] = "默认分类";
 9             row["DisplaySequence"] = "";
10             row["VideoCounts"] = "";
11             videoCategories.Rows.InsertAt(row, 0);
12 
13             this.ImageTypeListNew.DataSource = videoCategories;
14             this.ImageTypeListNew.DataBind();
15         }

 

1.3-使用方法

在页面加载时【Page_Load】可调用,以及删除/排序/编辑等场景也可调用。

 

 

二、UI:Grid/GridView

 显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。

1.1-前台页面代码

 1  <UI:Grid ID="grdTopCategries" DataKeyNames="CategoryId" runat="server" ShowHeader="true" AutoGenerateColumns="false" CssClass="table table-striped" GridLines="None" Width="100%">
                <Columns>
                    <asp:TemplateField HeaderText="分类名称">
                        <ItemTemplate>
                            <span class="icon" categoryid='<%# Eval("CategoryId") %>' parentid='<%# Eval("ParentCategoryId") %>' id="spShowImage" runat="server">
                                <img src="../images/jian.gif" width="24" height="24" /></span>
                            <span class="Name" id="spCategoryName"><a href='<%# "/product_detail/"+Eval("CategoryId")%>' target="_blank">
                                <asp:Literal ID="lblCategoryName" runat="server" /></a></span>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField HeaderText="URL重写名称" DataField="RewriteName" />
                    <asp:TemplateField HeaderText="排序">
                        <ItemTemplate>
                            <asp:TextBox ID="txtSequence" CssClass="form-control" runat="server" Text='<%# Eval("DisplaySequence") %>' Width="80px" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </UI:Grid>

 

 1.2-后台页面代码(核心)

 

 代码示例:

 1    DataTable dt = new DataTable();
 2             if (inviteCodeList.TotalRecords == 0)
 3             {
 4                 dt.Columns.Add("SaleId");
 5                 dt.Columns.Add("UserId");
 6                 dt.Columns.Add("TransactionDate");
 7                 dt.Columns.Add("IncomeType");
 8                 dt.Columns.Add("TransactionNo");
 9                 dt.Columns.Add("TransactionType");
10                 dt.Columns.Add("RefundId");
11                 dt.Columns.Add("SaleName");
12                 dt.Columns.Add("UserName");
13                 dt.Columns.Add("OrderType");
14                 dt.Columns.Add("PaymentType");
15                 dt.Columns.Add("DeliverPrincipal");
16                 dt.Columns.Add("CommissionRate");
17                 dt.Columns.Add("Tax");
18                 dt.Columns.Add("DeliverIncome");
19                 dt.Columns.Add("ApprovedStatus");
20                 dt.Columns.Add("Reason");
21                 dt.Columns.Add("SettlementId");
22                 dt.Columns.Add("Amount");
23                 dt.Columns.Add("ApprovedStatusId");
24 
25                 if (dt.Rows.Count == 0)
26                 {
27                     dt.Rows.Add(dt.NewRow());
28                 }
29                 this.grdSaleInviteCode.DataSource = dt;
30                 this.grdSaleInviteCode.DataBind();
31             }

 

标签:控件,asp,Repeater,表头,Add,dt,Columns,row
From: https://www.cnblogs.com/kimiliucn/p/17589737.html

相关文章

  • asp.net core 2.0 web api基于JWT自定义策略授权
    原文通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明,这篇博文,主要说明在asp.netcore2.0中,基于jwt的webapi的权限设置,即在asp.netcore中怎么用JWT,再次......
  • docker aspnetcore学习笔记
    在终端窗口cmd:  示例应用程序对于示例应用程序,让我们使用.NET从模板创建一个简单的应用程序。在本地计算机中创建一个名为的目录。打开终端并切换到该目录。运行以下命令,使用ASP.NET核心Web应用模板创建C#应用。$mkdirdotnet-docker$cddotnet-docker$dotne......
  • FineBI-点击表头进行排序
      基本思路:1.创建数据集-->orderby${参数1}${参数2}:参数1接收列名,参数2接收asc/desc2.添加模板参数flag,用于标识列名↑或列名↓3.选择所有排序字段-->超级链接-->网络报表(链接自身)-->添加参数col/sort/flag分别等于列名/公式/公式(见图2)4.......
  • 帆软报表实现点击表头排序功能
     FINEREPORT实现跟EXCEL表格一样的,点击表头升降序功能,效果见下图示例:(点击字段切换升降序) 一、创建一个数据查询,并添加数据集参数select*from`purchase_order`orderby${columns}${sort}记得两个参数之间要加个空格  再添加一个参数模板,用来把箭头传进去......
  • [回馈]ASP.NET Core MVC开发实战之商城系统(三)
    经过一段时间的准备,新的一期【ASP.NETCoreMVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】等功能的开发,今天继续讲解商品列表页面功能开发,仅供学习分享使用,如有不......
  • Asp.Net Core 集成JWT采用Rsa非对称密钥并实现自定义身份验证
    授权和鉴权分为了两个项目。首先是授权:建立Asp.netcore项目,并在Nuget包安装System.IdentityModel.Tokens.Jwt新建一个WebApi用于登录,这里使用账户密码方便调试。另外BaseResult是我封装的一个统一返回数据类型。需要注意的是audience以及JwtRegisteredClaimNames.Name......
  • asp.net core之配置
    简介配置在asp.netcore中可以说是我们必不可少一部分。ASP.NETCore中的应用程序配置是使用一个或多个配置提供程序执行的。配置提供程序使用各种配置源从键值对读取配置数据,普通最常用的应该是下面几种:设置文件,例如appsettings.json环境变量命令行参数已安装或已创建......
  • VS 还原 NuGet 程序包时出错: 无法加载源 https://dotnet.myget.org/F/aspnetcore-dev
    错误还原NuGet程序包时出错:无法加载源https://dotnet.myget.org/F/aspnetcore-dev/api/v3解决方法在新源中添加地址:https://www.nuget.org/api/v2/......
  • ASP.NET Core 使用 Claim 认证详解
    微软在早期.NETFramework时代,针对ASP.NET的用户登录身份认证,提供了Forms认证实现方案。后来在推出ASP.NETCore之后,采用Claim认证替代了Forms认证,两者本质上都是基于Cookie加解密的认证方式,学习和使用起来非常简单,比较适合在小型项目中使用,主要是方便。假设我们现......
  • ASP.NET Core 授权中间件 AuthorizationMiddleware
    ///<summary>///Amiddlewarethatenablesauthorizationcapabilities.///</summary>publicclassAuthorizationMiddleware{//AppContextswitchusedtocontrolwhetherHttpContextorendpointispassedasaresourcetoAuthZ......