说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

DataGrid得又一显示问题

编辑:说三道四文库 发布时间:2018-05-22 04:19
HTML文档下载 WORD文档下载 PDF文档下载
绑定列显示得时候有可能内容很长,这样得话我就需要如果内容得长度超过一定值就不再显示,只在提示中显示全部内容。

由上得问题:
    1、如何格式化显示一个字符串的一部分?
    2、如何获取鼠标所指的记录的对应字段的内容?

请教如何实现!
大家由什么好的方法,提供大家学习一下。
在后台判断啊
写个函数,返回字符,超长就显示一定值长度的字符,否则全部显示
第一个:重写数据帮定事件。
第二个:(如果是想取得鼠标坐标下的控件)我也想请教,如果只是想取得选取行,就简单。DataGird.Selected.Index
gz
kandyasp(冷酷到底) ( )的 ,你可以用datatable将值取出来
用函数判断长度,超过你的要求的 用…等显示
gz
模版列:
<%# CutString(DataBinder.Eval(Container.DataItem, "Context").ToString()) %>

后台
public string CutString(string s)
{
 if(s.Length > 10)
 {
   return s.Substring(0, 10)
 }
}
public string getxm(string xm)
{
 string strXM=xm;
 if(xm.Length>15)
 strXM=xm.Substring(0,15)+"...";
 return strXM;
}
<%# getxm(Convert.ToString(DataBinder.Eval(Container.DataItem,"项目名称"))) %>
Diadem(可乐可口):

如果没有选择呢?
鼠标放上去就显示对应的内容,不会要想金山词霸那样去取词吧?
如果文本字符數超過一定數量就顯示一部分,后面加"...",在tooltip中顯示全部內容
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        If Len(e.Item.Cells(21).Text) > 14 Then
            e.Item.Cells(21).ToolTip = e.Item.Cells(21).Text
            e.Item.Cells(21).Text = Left(e.Item.Cells(21).Text, 14) & "..."
        End If
   end sub
我的记录都是直接绑定DataView里的值
那么如果要加处理,应该在什么地方加处理?

另外,如果我用DropDownList绑定DataView的时候,怎么让DropDownList默认是没有选中的?
这段代码放在ItemDataBound里面!其中this.m_ItemShowLength是要显示的字数。
 if(this.m_ItemShowLength >0){
               for(int i = 0; i<=e.Item.Cells.Count-1;i++){
                  if(e.Item.Cells[i].Text.Length > this.m_ItemShowLength){
                     string strTmp = e.Item.Cells[i].Text;
                     e.Item.Cells[i].Text = strTmp.Remove(this.m_ItemShowLength,strTmp.Length-this.m_ItemShowLength)+"...";
                     e.Item.Cells[i].Attributes.Add("title",strTmp);
                  }
               }
            }
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
if(this.m_ItemShowLength >0){
               for(int i = 0; i<=e.Item.Cells.Count-1;i++){
                  if(e.Item.Cells[i].Text.Length > this.m_ItemShowLength){
                     string strTmp = e.Item.Cells[i].Text;
                     e.Item.Cells[i].Text = strTmp.Remove(this.m_ItemShowLength,strTmp.Length-this.m_ItemShowLength)+"...";
                     e.Item.Cells[i].Attributes.Add("title",strTmp);
                  }
               }
            }
}
忘了写最外面的判断了! :-)
感谢各位,第一个问题已经解决

另外,如果我用DropDownList绑定DataView的时候,怎么让DropDownList默认是没有选中的?
http://expert.csdn.net/Expert/topic/2982/2982914.xml?temp=6.266421E-02
不错,学习!
问题已经解决,感谢大家!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘