modify your sql statement

解决方案 »

  1.   

    绑定数据时 用 SubString()取得一部分串点链接用:<asp:HyperLinkColumn DataNavigateUrlField="ID" DataNavigateUrlFormatString="window.open('new.aspx?id={0}');" DataTextField="Title" HeaderText="标题">
      <HeaderStyle Width="200px"></HeaderStyle>
    </asp:HyperLinkColumn>
      

  2.   

    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=B3F3462D-DC34-41CE-9FEE-6965B2A3D1ADhttp://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=0BF1E82C-A30A-4B5B-85B2-8DB339A41D37
      

  3.   

    Add a linkbutton in itemtemplate,define its commandname as "lnk1".when you click the linkbutton ,get data from dataset.
    in datagrid's itemcommand event,write like this(if datagrid's view is same as dataset):
    if(e.commandname=="lnk1")
    {
    int i=datagrid.currentpageindex*datagrid.pagesize+e.item.itemindex;
    session["content_str"]=ds.tables[0].rows[i]["content"]
    response.write("<script language=javascript>window.open("b.aspx");</script>")
    }in b.aspx's page_load
    response.write(session["content_str"].tostring());
      

  4.   

    Add a linkbutton in itemtemplate,define its commandname as "lnk1".when you click the linkbutton ,get data from dataset.
    in datagrid's itemcommand event,write like this(if datagrid's view is same as dataset):
    if(e.commandname=="lnk1")
    {
    int i=datagrid.currentpageindex*datagrid.pagesize+e.item.itemindex;
    session["content_str"]=ds.tables[0].rows[i]["content"].tostring();
    response.write("<script language=javascript>window.open("b.aspx");</script>");
    }in b.aspx's page_load
    response.write(session["content_str"].tostring());
      

  5.   

    用代码控制datagrid中该列的宽度,控制方法举例如下:Dim da As New SqlDataAdapter()
    Dim ds As New DataSet()
    Dim sc As New SqlCommand()
    Dim dt As New DataTable()
    Dim i As Integersc.commandtext="select * from table"
    da.selectcommand=sc
    da.fill(ds,"ss")
    dt=ds.tables(0)datagrid1.datasource=dt
    datagrid1.databind()for i=0 to dt.Columns.Count - 1
        datagrid1.columns(i).itemstyle.width=dt.columns(i).maxlength
    next这样可以控制datagrid的列宽是每列数据都完整显示,你作为链接列的数据就可用了。
      

  6.   

    给小妹分吧?~~~
    protected string getchar( string str , int len ) 
         { 
              if( str.Length > len ) 
              { 
                str = str.Substring( 0, len ); 
                str = str + "..."; 
                return str; 
              } 
             else 
              { 
                 
                return str; 
              } 
        }
    页面中调用参考:<asp:TemplateColumn> 
    <ItemTemplate>
          <asp:HyperLink  Text='<%# getchar(DataBinder.Eval(Container.DataItem,"title").ToString(),8)%>'  ForeColor="#669999"    runat="server"/> 
                   
                      </ItemTemplate> </asp:TemplateColumn>
      

  7.   


    可以在你的查询语句中直接处理SELECT 
    CASE WHEN len(field1) > 5 THEN '<a href=xxx.aspx>' + field1+'</a>' ELSE field1 END
    FROM table
      

  8.   

    忘了加一个,比如取前面十个SELECT 
    CASE WHEN len(field1) > 5 THEN '<a href=xxx.aspx>' + left(field1,10)+'…</a>' ELSE field1 END
    FROM table
      

  9.   

    其实也可以这么做:
    DataGrid在ItemDataCommand中,判断对应列的文字长度,如果大于固定的字符长度,则选取固定长度的text显示,再增加列事件“Title”,显示全部内容即可。
      

  10.   

    <asp:...control .... CommandName="openwindow".../>
    在datagrid的ItemCommand的事件中写:
    if(e.CommandName.ToLower() == "openwindow")
    {
        Response.Write("<script>window.open('aaa.aspx');</script>");
    }
      

  11.   

    用模板列,在datagrid中取这个串的前几个字
    在列的click中打开一个新窗口,把这个串的ID转过去,
    在新窗口中通过这个id在到数据库中去取