Gridview 用法大全二

本文介绍如何在GridView中实现标题长度超过一定范围时自动添加省略号显示,并在数据行绑定时添加删除确认对话框的功能。具体包括使用模板列与条件表达式绑定文本、设置Tooltip属性以鼠标悬停显示完整标题,以及实现数据行的删除操作确认流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我们做WEB开发的过程中,经常会遇到GridView中的某些字段太长了,如果全部显示出来就会使排版混,影响美观,尤其是在我们做新闻系统时肯定会遇到,比如显示新闻列表的gridview,页面的版面已设计美观,但是有的新闻标题过长,我们希望只显示一定长度,后面加省略号,然后当鼠标移上去时再显示标题的全部内容,这样就即做到了不影响版面的布局,又做到了标题内容的全部显示.
 下图是我做的规则显示的效果图,有些规则太长,我要做到的是,当标题超出一定长度时我加省略号,当标题在一定长度范围内时,全标题显示:
效果如上,那么这种效果我们如何实现呢?,在GridView绑定的时候要做什么工作?
    
    
接下来我们来看实现思路:其实说起来很简单,我们在这里将采用模板列,在模版列里拖入一个label控件来进行数据绑定,它的text属性绑定的时候用一个条件表达式来判断是全部绑定标题文字还是只绑定部分标题文字+省略号;它的tooltip属性就直接绑定标题字段,这样我们的鼠标移上去就可以显示标题的全部内容了,绑定代码如下:

5489cb713165ed5e8601b03f.jpg<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="RuleId" Width="100%" ShowHeader="False" GridLines="None">
391b7b2dc6b9767a1e30893f.jpg
<Columns>
95b0561e3bb0ffc986d6b63f.jpg
<asp:TemplateField>
996544893967793d9f2fb43f.jpg
<ItemStyle Width="60px" />
804be20aea894172e824883f.jpg
<ItemTemplate>
365cfa322d95e6dba8018e3f.jpg
<asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="Green" Text='<%# Eval("RuleOrder") %>'></asp:Label>
01540c267d28f7434d088d3f.jpg
</ItemTemplate>
f7405d9b6fb0124a6f068c3f.jpg
</asp:TemplateField>
b765a90aa6b743d70b7b823f.jpg
<asp:TemplateField HeaderText="规则标题">
526c8b04d42454390308813f.jpg
<ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" CssClass="grid1" Height="20px" />
03f1ef79c9b925b60bd1873f.jpg
<ItemTemplate>
6590efd3ac68ac91562c843f.jpg1c6c9ef6c7603c9bf3d3853f.jpg
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("HtmlPath") %>' ToolTip='<%14b587db3d62096e10df9b3f.jpg7cbd17d1879d4f9da8ec9a3f.jpg# Eval("RuleTitle")%>'
4948f4dd7b5dd4516227983f.jpgb7886f11b7963c92f6039e3f.jpgText='
<%0fbb4cee59a23d6563d09f3f.jpg94778625b761a941908f9d3f.jpg# Eval("RuleTitle").ToString().Length>16?Eval("RuleTitle").ToString().Substring(0,16)+"7cb41201463efeae09fa933f.jpg":Eval("RuleTitle") %>' Font-Bold="True"></asp:HyperLink>
8feb45eed14b0f7f2797913f.jpg
</ItemTemplate>
e967748d785d56b8503d923f.jpg
</asp:TemplateField>
38f3bcece0dc0bb9b3fb953f.jpg
</Columns>
be88edf88b8c78d558ee903f.jpg
</asp:GridView>
2309b0f96d4a1d546c22eb3f.jpg
478ad86f8b4aecb94216943f.jpg

从上面的代码可以看出,我绑定Label控件的Text属性的时候用了条件表达式,当数据库中的标题长度大于16时,则截取前16个字符加上省略号进行显示,当小于16时,就全部绑定.ToolTip属性直接帮定标题字段,鼠标移上去就可显示全部标题了。(题外话,如果你作的是新闻发布系统,你也可以在Text属性的后面再加上一个发布日期的绑定字段,这样标题,日期全出来聊,呵呵,可以灵活应用,举一反三)
gridview添加删除确认对话框

方法一:

VB代码

ac9fa6148c93110821a4e93f.jpg4b9f57f9a3a733604e4aea3f.jpgProtected Sub GridView1_RowDataBound()Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
5d728820adfb7ee64723e83f.jpg          
If e.Row.RowType = DataControlRowType.DataRow Then
7346aa48c315186108f7ef3f.jpg               e.Row.Cells(
12).Attributes.Add("onclick", "return confirm('你确认要删除吗?')")
3ec0a321ec46ce109922ed3f.jpg          
End If
179375507f932c4c0df3e33f.jpg      
End Sub
8646970ce54289887acbe13f.jpg
8e367d209abf52b1d6cae23f.jpg

C#代码

129732c8907a5404f31fe73f.jpgprotected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
c9ae9ec9e6f7ac5dbf09e63f.jpg
1422171d50b83521f724e43f.jpg{
65afef441faee04b6a63e53f.jpg
ec7b5b0b84d2a8666a60fb3f.jpg
if (e.Row.RowType == DataControlRowType.DataRow)
750713269ad152718644f93f.jpg           {
7504e93174f5b5ba1b4cff3f.jpg               e.Row.Cells[
5].Attributes.Add("onclick", "return confirm('你确认要编辑吗?')");
a06d8e61069535220d33fa3f.jpg
e8408e62fe82d906eaf8f83f.jpg           }
125762461f49440e500ffe3f.jpg}
f59cff4ea7be87bbd62afc3f.jpg

 

转载于:https://www.cnblogs.com/30ErLi/archive/2010/09/17/1828862.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值