日期:2014-05-18  浏览次数:20420 次

给gridview某字段加链接?
如题,还有我用gridview显示一个新闻列表,如何在每个新闻开头加个字符"·"

------解决方案--------------------
<asp:HyperLinkField HeaderText="" Text="" DataNavigateUrlFields="id" DataNavigateUrlFormatString="EditNews.aspx?id={0}" Target="main" />
这样写试试
------解决方案--------------------
开头加“。”可以用模板列

超过10个字符可以用 substring截取
------解决方案--------------------
怎么会在开头加?
不是都是结尾加......????
select case when len(columnname) >10 then eft(columnname,10)+ "... " else columnname end as columnname
from tablename
在数据库处理!超过10就显示字段+......没超过就显示字段
------解决方案--------------------
1〉还有新闻开头加个 "·" 
------------------------------------------------
用一个模板列显示。里面可以放网站上常见的小三角型,什么的~~
2〉新闻长度如果超过10个字符自动截取如何弄
---------------------------------------------------
C# code


 public void Bind()
    {
        string conn = "provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("./data/english.mdb");
        string cmd = "select id,title,type,dt from News";
        OleDbConnection myconnection=new OleDbConnection (conn);
        OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);
        myconnection .Open ();
        DataSet ds = new DataSet();
        da.Fill(ds, "News");
        GridView1.DataSource = ds;
        //设置主键;
        GridView1.DataKeyNames = new string[] { "id" };
        GridView1.DataBind();
        //用“...”代替超长字符串,解决方法:数据绑定后过滤每一行即可
         for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
        {
            DataRowView mydrv;
            string gIntro;
            if (GridView1.PageIndex == 0)
            {
                mydrv = ds.Tables["News"].DefaultView[i];//处理的表
                gIntro = Convert.ToString(mydrv["title"]);//所要处理的字段

                GridView1.Rows[i].Cells[1].Text = SubStr(gIntro, 5);
            }
            else
            {
                mydrv = ds.Tables["News"].DefaultView[i + (2 * GridView1.PageIndex)];//每页记录条数2;
                gIntro = Convert.ToString(mydrv["title"]);
                GridView1.Rows[i].Cells[1].Text = SubStr(gIntro, 5);
            }
        }
        myconnection .Close ();
    }
    //调用的方法:
    public string SubStr(string sString, int nLeng)
    {
        if (sString.Length <= nLeng)
        {
            return sString;
        }
        string sNewStr = sString.Substring(0, nLeng);
        sNewStr = sNewStr + "...";
        return sNewStr;
    }

------解决方案--------------------
如何分页……偶也想问
------解决方案--------------------
再帮楼主问一个:
新闻列中如
asdfsadfffffff....
如何使当鼠标置于新闻列上方,显示类似于tooltip的内容为新闻标题全称.此功能如何实现?
------解决方案--------------------
楼上的代码多了点!!!
一般情况下在dataview控件RowDataBound事件中写这么一段代码应该可以解决问题了
 string[] StrCol = new string[3];
if ((e.Item.ItemType == ListItemType.Item) | (e.Item.ItemType == ListItemType.AlternatingItem))
{

string Title = "";
Title = e.Item.Cells[1].Text;
if (Title.Length > 10)//大于10个长度
{
e.Item.Cells[1].Text = "<a href=\"news_show.aspx?id=" + this.DGBulletin.DataKeys[e.Item.ItemIndex] + ">" + Title.Substring(1, 10) + "...</a>";
}
else
e.Item.Cells[1].Text = "<a href=\"news_show.aspx?id=" + this.DGBulletin.DataKeys[e.Item.ItemIndex] + ">" + Title + "...</a>";