问题描述
在GridView中,我希望某个字段只显示10个字符,后面截取的字符串都以"..."表示,当跳到另一界面时,用“…”代替的信息都全部显示出来,相当于查看它的详细信息。另一界面是显示他的详细信息的!跳到那个界面时,他的信息都全部显示出来。如何写代码呀。求大侠!前面的那个获取截取字段的已经实现了,并且已用”…“代替。就是跳到另一界面时,没有显示他的详细信息。还是“…”显示。现在我要的是:在一个gridiew控件中选中一个数据,显示它的详细信息。原先“…”代替的数据要显示出来!
解决方案
解决方案二:
引用楼主的回复:
在GridView中,我希望某个字段只显示10个字符,后面截取的字符串都以"..."表示,当跳到另一界面时,用“…”代替的信息都全部显示出来,相当于查看它的详细信息。另一界面是显示他的详细信息的!跳到那个界面时,他的信息都全部显示出来。如何写代码呀。求大侠!前面的那个获取截取字段的已经实现了,并且已用”…“代替。就是跳到另一界面时,没有显示他的详细信息。还是“…”显示。现在我要的是:在一个g……
我的blog
解决方案三:
做个模板列吧,自己里面放置一个用来显示内容的组件,这样你控制起来会方便多
解决方案四:
for(inti=0;i<e.Row.Cells.Count;i++){if(e.Row.Cells[i].Text.Length>10)e.Row.Cells[i].Text="<atitle=""+e.Row.Cells[i].Text+""style="color:#ff0000;cursor:default">"+e.Row.Cells[i].Text.Substring(0,10)+"...</a>";}
解决方案五:
我用的是鼠标双击事件,怎么写代码呀。大侠………引用2楼的回复:
做个模板列吧,自己里面放置一个用来显示内容的组件,这样你控制起来会方便多
解决方案六:
Substring截取一下后面的用...,跳转到其他页面正常读取数据不受影响!
解决方案七:
我用的是鼠标双击事件,用这个可能不行吧。。。引用3楼的回复:
for(inti=0;i<e.Row.Cells.Count;i++){if(e.Row.Cells[i].Text.Length>10)e.Row.Cells[i].Text="<atitle=""+e.Row.Cells[i].Text+""style="color:#ff0000;cursor:default">"+……
解决方案八:
是用substring截取的呀。可是双击点击那一列获取到的还是“…”,没有显示出来。。引用5楼的回复:
Substring截取一下后面的用...,跳转到其他页面正常读取数据不受影响!
解决方案九:
如果双击的话,根据当前行的ID,在新页面里面在去获取他的详细信息不行吗?如果你是在后台就把这个数据处理过,这样双击出来的肯定是带...的2楼的方法可试下,放个模板列,点击的时候获取模板列里面的数据
解决方案十:
传过去的时候不要截取。
解决方案十一:
asp:TemplateFieldHeaderText="备注"ItemStyle-HorizontalAlign="Left"><ItemTemplate><%#Eval("ipadRemark").ToString().Length>10?Eval("ipadRemark").ToString().Substring(0,10)+"...":Eval("ipadRemark")%></ItemTemplate></asp:TemplateField>///方法二///</summary>///<paramname="remark"></param>///<returns></returns>//处理地址publicstringCutAddress(stringaddress){stringstr="";if(address==""){str="";returnstr;}if(address!=""&&address.Length>10){str=address.Substring(0,10)+"...";}else{str=address;}returnstr;}
解决方案十二:
你这个方法只是把需要截取的字符串显示为“…”吧。我要的是之前代替为“…”的信息显示出来。。引用10楼的回复:
C#code方法一:asp:TemplateFieldHeaderText="备注"ItemStyle-HorizontalAlign="Left"><ItemTemplate><%#Eval("ipadRemark").ToStri……
解决方案十三:
我以前项目里做过我找找
解决方案十四:
引用6楼的回复:
我用的是鼠标双击事件,用这个可能不行吧。。。引用3楼的回复:for(inti=0;i<e.Row.Cells.Count;i++){if(e.Row.Cells[i].Text.Length>10)e.Row.Cells[i].Text="<atitle=""+e.Row.Cells[i].Text+""style=……
这个写在行绑定里面不影响你的双击事件啊
解决方案十五:
.mlength{text-align:left;display:block;width:300px;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;}<asp:TemplateFieldHeaderText=""><ItemTemplate><asp:LabelID="Label1"runat="server"Text='<%#Eval("")%>'CssClass="mlength"ToolTip='<%#Eval("xxx")%>'></asp:Label></ItemTemplate></asp:TemplateField>
protectedvoidgridview_DataBound(objectsender,EventArgse){foreach(GridViewRowrowingvLawName.Rows){foreach(TableCellcellinrow.Cells)if(cell.Text.Length>25)cell.Text=cell.Text.Substring(0,10)+"...";}}protectedvoidgridview_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){((Label)e.Row.Cells[0].FindControl("Label1")).ToolTip=((Label)e.Row.Cells[0].FindControl("Label1")).Text;}}
解决方案:///<summary>///行绑定///</summary>///<paramname="sender"></param>///<paramname="e"></param>protectedvoidgvdata_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){for(inti=0;i<e.Row.Cells.Count;i++){if(e.Row.Cells[i].Text.Length>13&&i!=itake)e.Row.Cells[i].Text="<atitle=""+e.Row.Cells[i].Text+""style="color:#ff0000;cursor:default">"+e.Row.Cells[i].Text.Substring(0,13)+"...</a>";}}}
解决方案:上面还有点没改回来if(cell.Text.Length>10)cell.Text=cell.Text.Substring(0,10)+"...";
解决方案:这个事件有用过吗?OnCustomDblClick,我用的是这个双击事件。引用16楼的回复:
上面还有点没改回来if(cell.Text.Length>10)cell.Text=cell.Text.Substring(0,10)+"...";
解决方案:引用17楼的回复:
这个事件有用过吗?OnCustomDblClick,我用的是这个双击事件。引用16楼的回复:上面还有点没改回来if(cell.Text.Length>10)cell.Text=cell.Text.Substring(0,10)+"...";
第一次看到OnDblClick倒是认识
解决方案:这么多高手啊,顶一下吧
解决方案:我也是第一次用。。所以不会用。。还是挺谢谢你的。呵呵……引用18楼的回复:
引用17楼的回复:这个事件有用过吗?OnCustomDblClick,我用的是这个双击事件。引用16楼的回复:上面还有点没改回来if(cell.Text.Length>10)cell.Text=cell.Text.Substring(0,10)+"...";第一次看到OnDblClick倒是认识
解决方案:将你截取好的字符串(就是前10个字符)获取出来后,从后面的字符开始,你直接用“.....”追加到后面,这些做好之后,在处理这些字符的单击事件中重新调用你获取所有信息的方法,就可以了。
解决方案:我用是OnCustomDblClick这个双击事件,知道怎么用么?……引用8楼的回复:]如果双击的话,根据当前行的ID,在新页面里面在去获取他的详细信息不行吗?如果你是在后台就把这个数据处理过,这样双击出来的肯定是带...的2楼的方法可试下,放个模板列,点击的时候获取模板列里面的数据[/Quote]
解决方案:用的是这个的OnCustomDblClick双击事件。不知道怎么写。。。引用21楼的回复:
将你截取好的字符串(就是前10个字符)获取出来后,从后面的字符开始,你直接用“.....”追加到后面,这些做好之后,在处理这些字符的单击事件中重新调用你获取所有信息的方法,就可以了。
解决方案:该回复于2012-04-11 17:17:30被版主删除
解决方案:你没毛病吧?……引用24楼的回复:
你是一枚落花,揽着夕阳的落音随西风轻摇,如泪雨漂泊,怎奈前缘已断,我的刻骨与思念,唯有在幽幽的风声里化作今生的感叹,入红尘,入来世。你如浮南京治疗白癜风医院云飘过我的视线,我只有流连在梦的枕边,借着淡淡的酒香,将你默默的思念。青灯燃泪,红烛诉怨,袅袅的青烟捻着我的忧伤,缭绕着清泪成江苏治白癜风最好医院两瓣。眉宇锁清愁,红笺蘸墨梦难圆,一盏幽思入梦境,冥冥注定中,一缕夙愿落下满城风雨声。今生难过情……
解决方案:<%#Eval().ToString().Length>10?Eval().ToString().SubString(0,10)+"...":Eval()%>当然,要在TemplateField里写
其他方案:
<asp:TemplateFieldHeaderText="操作信息"SortExpression="strShortInfo"><ItemTemplate><asp:LabelID="Label1"runat="server"Text='<%#MySubstring(DataBinder.Eval(Container.DataItem,"strShortInfo").ToString())%>'></asp:Label></ItemTemplate><HeaderStyleHorizontalAlign="Center"VerticalAlign="Middle"Wrap="False"/><ItemStyleHorizontalAlign="Left"VerticalAlign="Middle"Wrap="False"/></asp:TemplateField>我这样写的模板列对么?引用2楼的回复:
做个模板列吧,自己里面放置一个用来显示内容的组件,这样你控制起来会方便多
解决方案:已经写到里面了。可获取到的值还是空的。。引用26楼的回复:
<%#Eval().ToString().Length>10?Eval().ToString().SubString(0,10)+"...":Eval()%>当然,要在TemplateField里写
解决方案:<asp:TemplateFieldHeaderText="操作信息"SortExpression="strShortInfo"><ItemTemplate><asp:LabelID="Label1"runat="server"Text='<Eval("col").ToString().Length>10?<Eval("col").ToString().subString(0,10)+"..":<Eval("col").ToString();'></asp:Label></ItemTemplate><HeaderStyleHorizontalAlign="Center"VerticalAlign="Middle"Wrap="False"/><ItemStyleHorizontalAlign="Left"VerticalAlign="Middle"Wrap="False"/></asp:TemplateField>
解决方案:写错了,是Text="<%#Eval("")%>"
解决方案:那个MySubstring是我在后台写的一个方法。。这里是调用它。现在主要是那一个字段没有获取到值。不知道什么原因。引用30楼的回复:
写错了,是Text="<%#Eval("")%>"
解决方案:我这个不知道可否帮到你<span><%#GetStrA(Eval("Content"),50)%></span>
后台:///<summary>///字符串截取///</summary>///<paramname="str">需要截取的字符串</param>///<paramname="strLen">截取长度</param>///<returns></returns>publicstaticstringGetStrA(objectobjStr,intstrLen){stringstr=objStr.ToString();if(str.Length<strLen)//如果输入的字符串长度小于指定的长度{str=str.Substring(0,str.Length);//字符长度大于字符长度}else{str=str.Substring(0,strLen)+"...";}returnstr;}///<summary>///字符串截取,无省略号///</summary>///<paramname="str">需要截取的字符串</param>///<paramname="strLen">截取长度</param>///<returns></returns>publicstaticstringGetStrB(objectobjStr,intstrLen){stringstr=objStr.ToString();if(str.Length<strLen)//如果输入的字符串长度小于指定的长度{str=str.Substring(0,str.Length);//字符长度大于字符长度}else{str=str.Substring(0,strLen);}returnstr;}
解决方案:您用的是什么事件??引用32楼的回复:
我这个不知道可否帮到你HTMLcode<span><%#GetStrA(Eval("Content"),50)%></span>后台:C#code///<summary>///字符串截取///</summary>///<paramname="str">需要截取的字符串</param>……
解决方案:清清月儿的72绝技里貌似有这个吧楼主可以参考一下
解决方案:引用33楼的回复:
您用的是什么事件??引用32楼的回复:我这个不知道可否帮到你HTMLcode<span><%#GetStrA(Eval("Content"),50)%></span>后台:C#code///<summary>///字符串截取///</summary>///<paramname="str">需要截取的字符……
不是哪个事件,就一个方法函数这个写的是后台的一个方法,直接运用到前台数据绑定
解决方案:这个知道。我说你选中那行数据跳到另外一个界面,没有用到事件吗?不知你用过OnDblClick这个事件没???引用35楼的回复:
引用33楼的回复:您用的是什么事件??引用32楼的回复:我这个不知道可否帮到你HTMLcode<span><%#GetStrA(Eval("Content"),50)%></span>后台:C#code///<summary>///字符串截取///</summary>///<paramname……
解决方案:哦。他那个只是截取数据而已!我要的是获取用“…”代替的那些数据。。。不过还是很感谢你!……引用34楼的回复:
清清月儿的72绝技里貌似有这个吧楼主可以参考一下
解决方案:<%#Eval("字段").ToString().Length>10?Eval("字段").ToString().SubString(0,10)+"...":Eval("字段")%>
解决方案:恩,你这个方法也只是截取数据而已呢。我想双击鼠标跳到另一界面后,能够把它用“…”代替的数据都显示出来。。引用38楼的回复:
<%#Eval("字段").ToString().Length>10?Eval("字段").ToString().SubString(0,10)+"...":Eval("字段")%>
解决方案:在当前页面用三元表达式去判断、截取。传到详细页面的时候、传全部、或者ID、在从数据库读一次也行啊。
解决方案:引用37楼的回复:
哦。他那个只是截取数据而已!我要的是获取用“…”代替的那些数据。。。不过还是很感谢你!……引用34楼的回复:清清月儿的72绝技里貌似有这个吧楼主可以参考一下
哎呀,你直接获取你编辑行的id,然后根据id查询显示相关信息不就行了
解决方案:<ahref="ShowDetail.aspx"><%#Eval("title").ToString().length>10?Eval("title").ToString().length(0,10)+"...":Eval("title").ToString()%></a>你在ShowDetail.aspx中直接绑定就行<%#Eval("title").ToString()%>
解决方案:我在gridview上写了我想这样子做:在GridView中放一个隐藏列,把截取的数据放到这个里面。在跳转另一界面时把隐藏列的数据获取出来。不知道怎写。大侠帮帮忙呀。。。引用41楼的回复:
引用37楼的回复:哦。他那个只是截取数据而已!我要的是获取用“…”代替的那些数据。。。不过还是很感谢你!……引用34楼的回复:清清月儿的72绝技里貌似有这个吧楼主可以参考一下哎呀,你直接获取你编辑行的id,然后根据id查询显示相关信息不就行了
解决方案:鼠标双击选中该行数据还是“…”这样。数据没有全部显示出来。。。引用42楼的回复:
<ahref="ShowDetail.aspx"><%#Eval("title").ToString().length>10?Eval("title").ToString().length(0,10)+"...":Eval("title").ToString()%></a>你在ShowDetail.aspx中直接绑定就行<%#Eval("title").ToString()%>