asp.net 在Gridview里如何让某列只显示几个字,多余用...表示

前台代码如下
<asp:GridView ID="gridView" runat="server" AllowPaging="True"
Width="100%" CellPadding="3" OnPageIndexChanging ="gridView_PageIndexChanging"
BorderWidth="1px" DataKeyNames="commentId" OnRowDataBound="gridView_RowDataBound"
AutoGenerateColumns="False" RowStyle-HorizontalAlign="Center"
OnRowCreated="gridView_OnRowCreated" >
<Columns>
<asp:TemplateField ControlStyle-Width="30" HeaderText="选择" >
<ItemTemplate>
<asp:CheckBox ID="DeleteThis" onclick="javascript:CCA(this);" runat="server" />
</ItemTemplate>

<ControlStyle Width="30px"></ControlStyle>
</asp:TemplateField>

<asp:BoundField DataField="commentContent" HeaderText="评论内容" SortExpression="commentContent"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="commentAuthor" HeaderText="作者" SortExpression="commentAuthor"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="commentDate" HeaderText="日期" SortExpression="commentDate"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="commentNewsId" HeaderText="评论的文章ID" SortExpression="commentNewsId"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="commentUserid" HeaderText="评论者"
SortExpression="commentUserid" ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>

................
</asp:GridView>

gridView_RowDataBound的代码如何设置呢,让 评论内容 列显示如题效果

第1个回答  2011-07-24
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow gvr = (GridViewRow)e.Row;
string str = gvr.Cells[1].Text;//这个1应该改成“评论内容”的在此行的索引,从0开始
if (str.Length > 10)
{
gvr.Cells[1].Text = str.Substring(0, 10) + "...";
}
}
其实也不太麻烦,难度也不高。
第2个回答  2011-07-23

<asp:BoundField DataField="commentContent" HeaderText="评论内容" SortExpression="commentContent"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
替换为
<asp:TemplateField HeaderText="评论内容" SortExpression="commentContent">
<ItemTemplate>
<%# Eval("commentContent").ToString().Length > 10 ? Eval("commentContent").ToString().Substring(0, 10) + "..." : Eval("commentContent").ToString() %>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>追问

我是想在gridView_RowDataBound事件里添加代码实现效果~~

追答

1. 这个操作没有必要一定使用GridView的RowDataBound事件,更好的做法是后台写个方法前台调用
2.如果用RowDataBound事件,前台GridView最好用TemplateField以方便FindControl,我认为这对你有难度

本回答被提问者采纳
第3个回答  2011-07-25
将<asp:BoundField DataField="commentContent" HeaderText="评论内容" SortExpression="commentContent"
ItemStyle-HorizontalAlign="Center" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
改为
<asp:TemplateField HeaderText="评论内容" SortExpression="commentContent">
<ItemTemplate>
<%# Eval("commentContent").ToString().Length > 10 ? Eval("commentContent").ToString().Substring(0, 10) + "..." : Eval("commentContent").ToString() %>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
第4个回答  2011-07-27
可以用Substring(0, 1);
直接啊~开那个字符开始几个字符
第5个回答  2011-07-23
gridView_RowDataBound里面也是一样的,用SubString,不如楼上说的方便..

Asp.net中GridView控件生成的表格怎么实现每一列固定宽度,超出范围的字...
在绑定数据的时候 判断字段的长度 如果超过多少进行字符串的截取处理后跟...

asp.net中gridview的checkbox列要单选
方法有2种,1是通过js限定。2是通过后台限制,我没有写代码就大体的谢谢思路吧,这个是肯定可以的,for(var i=0;i<行的数目;i++){ if(.checked=="true"){ 其他的.checked =false;} }

asp.net中在Gridview中自定义一列操作,应该怎么做?
思路:先定义事件,在linkbutton上绑定事件,也就是一个CRUD的方法,然后在后台的OnRowCommand事件里调用绑定的事件即可。具体举例如下:1、前端的代码如下:<asp:GridView ID="gridViewDxjk" CssClass="gridview" runat="server" AllowPaging="True"DataKeyNames="P_ID" AutoGenerateColumns="False"RowSt...

ASP.NET中如何获取Gridview选中行的值和传递
绑定的时候绑定上ID,设置DataKey等于ID这一列,让后隐藏那一列,当你点击任何一行按钮时 在RowCommand事件里写上下面这一句 string index = (Gridview的ID).DataKeys[int.Parse(e.CommandArgument.ToString())].Value.ToString();这是在获取你所点击行的 id 然后写 Response.Redirect("(页名).as...

在ASP.NET里面,要怎样把合计去掉了
是在页面的dagagridview中的?如果是的话,点击datagridview右上角的智能小箭头,里面有编辑列,打开后在左下角的就可以看到你所添加的列,在里面找到这一类,移除即可

ASP.NET 绑定GridView列标题行问题
发布时间" \/> <\/Columns> <\/asp:GridView> DataField是数据表列名(sql语句中的列相同)。HeaderText需要显示的列标题名(自定义)然后在 后台里 查询数据库 产生DataSet 对象 把DataSet 对象 赋给 Gridview的 DataSource属性 GridView1.DataSource=ds.Table[0];GridView1.DataBind();\/\/执行绑定 ...

asp.net gridview 如何在网页运行时将某一行设为可编辑的文本框格式...
点【编辑】按钮跳到另外一个页不好么。在新页上做增删改,gridview 自带的方法在后台写个空的方法,新页里怎么做增删改自己在写被~那就像你做编辑按钮一样,把个列里都加个文本框。然后文本框显示内容从后台传过来 不过。。。貌似很难看。。。

asp.net中gridview控件可不可设置只能对指定的列进行修改
可以 在数据源生成的updatecommand只保留你需要修改的列 在编辑gridview列里把不修改的全部改为只读模式

asp.net如何在一个div中显示数据库中一篇文章??
<%# DataBinder.Eval(Container.DataItem,"文章内容列名",["格式"])%>这样就可以将某个列的内容绑定到div中了,至于是否要其它的,比如一个页面要显示多篇文章,你可能就需要一些用于数据绑定的控件了(如:DataList,GridView什么的,有的需要放在自定义的Template里面),就看你的需要了。

asp.net关于GridView控件获取所选行的某字段的值!
GridView是ASP.NET中功能强大的数据显示控件,它的RowDataBound事件为我们提供了方便的控制行、列数据的途径。 软件开发网 www.mscto.com 要获取当前行的某个数据列,有如下几种方法:1. Cells[x].Txt。从列单元格的文本值获取。这种方法简单高率,最为常用,但是功能单纯。此法存在几个缺点:(1)...

相似回答