<asp:TemplateColumn HeaderText="备注">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.re").ToString().SubString(0,10)+"..." %> </ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=ValidCounts runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.re") %>' Width="100%">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>

解决方案 »

  1.   

    楼上的方法不可取,因为如果该列值为空的情况下,这样做就会出异常了。
    这样来绑定
    <ItemTemplate>
    <%# GetPart(DataBinder.Eval(Container, "DataItem.re").ToString()) %> </ItemTemplate>
    然后在codebehind里面定义一个函数
    public string GetPart(string re)
    {
    if(re.Length>=10)
    return re.SubString(0,10);
    else
    return re;
    }
      

  2.   

    同意 wacle([Smile!]) 的说法!!!
      

  3.   

    wacle([Smile!]) 你好,你的方法出现如下错误,请帮忙。谢谢!
    新手,别见笑。
    分析器错误 
    说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 类型“System.Web.UI.WebControls.DataGrid”不具有名为“ItemTemplate”的属性。源错误: 
    行 168:      </Columns>
    行 169:
    行 170:      <ItemTemplate>                     //此行出错
    行 171:           <%# GetPart(DataBinder.Eval(Container, "DataItem.re").ToString()) %>
    行 172:      </ItemTemplate>
     
      

  4.   

    <asp:TemplateColumn HeaderText="按钮传值">
    <ItemTemplate>                   
           <%# GetPart(DataBinder.Eval(Container, "DataItem.re").ToString()) %>
          </ItemTemplate> </asp:TemplateColumn>
      

  5.   

    TO : seesea125(雨天) 又出错编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0117: “string”并不包含对“SubString”的定义源错误: 行 111:{
    行 112:if(re.Length>=10)
    行 113:return re.SubString(0,10);
    行 114:else
    行 115:return re;
     
      

  6.   

    return re.SubString(0,10);
    改为
    return re.Substring(0,10);
      

  7.   

    to :wacle([Smile!]) ( ) 
    我是这样绑定,请问怎么做?谢谢了。
        <ASP:DataGrid id="MyDataGrid" runat="server" OnSortCommand="MyDataGrid_Sort"
          Width="100%"
          BackColor="#ccccff" 
          BorderColor="black"
          ShowFooter="false" 
          CellPadding=3 
          CellSpacing="0"
          Font-Name="Verdana"
          Font-Size="8pt"
          AllowPaging="True"
          HeaderStyle-BackColor="#aaaadd"
          OnEditCommand="MyDataGrid_Edit"
          OnCancelCommand="MyDataGrid_Cancel"
          OnUpdateCommand="MyDataGrid_Update"
          OnDeleteCommand="MyDataGrid_Delete"
          AllowSorting="true"
          DataKeyField="farenumber"
          AutoGenerateColumns="false"
        >      <Columns>
             <asp:ButtonColumn Text="x" CommandName="Delete"/>
          </Columns>      <Columns>
            <asp:EditCommandColumn HeaderText="操作区" EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/>
            <asp:BoundColumn HeaderText="编号" SortExpression="farenumber" DataField="farenumber"/>
            <asp:BoundColumn HeaderText="商场名称" SortExpression="shopname" DataField="shopname"/>
            <asp:BoundColumn HeaderText="费用种类" SortExpression="farekind" DataField="farekind"/>
            <asp:BoundColumn HeaderText="费用" SortExpression="fare" DataField="fare"/>
            <asp:BoundColumn HeaderText="创建人" SortExpression="writeman" DataField="writeman"/>
            <asp:BoundColumn HeaderText="创建日期" SortExpression="writedate" DataField="writedate"/>
            <asp:BoundColumn HeaderText="备注" SortExpression="re" DataField="re"/>
          </Columns>
        </ASP:DataGrid>
      

  8.   

    你的DataGrid里面没有摸板列,所以用Container会出现问题.这样吧,你还是一开始还是直接绑定数据库吧,先不要做处理.然后在绑定之后写一个函数来处理该列,假设该列的序号为2
    private void SubFiled()
    {
    foreach(DataGridItem item in dgrd.Items)
    {
    if(item.Cells[2].Text!=String.Empty&&item.Cells[2].Text!="&nbsp;")
    {
    if(item.Cells[2].Text.Length>=10)
    item.Cells[2].Text=item.Cells[2].Text.SubString(0,10);
    }
    }
    }
      

  9.   

    你只要在原有绑定的基础上,调用这个函数就可以了
    ...
    {...
    dgrd1.datasource=...
    dgrd1.databind(); //以上是你的绑定程序
    //next:
    SubField();
    }