GridView中的SelectedIndexChanged事件使用后为什么没有效果

usingSystem;usingSystem.Data;usingSystem.Collections.Generic;usingSystem.Linq;usingSy... using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;

public partial class xgxz : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
string dsn = System.Configuration.ConfigurationManager.ConnectionStrings["dsn"].ToString();
SqlConnection con = new SqlConnection(dsn);
con.Open();
String SQL = "select top 6 newsid,newstitle,CONVERT(char(10), newstime, 102) AS newstime,newstype from news where newstype=61 ";
SqlDataAdapter sd = new SqlDataAdapter(SQL, con);
DataSet ds = new DataSet();
sd.Fill(ds, "news");
this.GridView1.DataSource = ds.Tables["news"].DefaultView;
this.GridView1.DataBind();
con.Close();
}
/// <summary>
/// 截取字符串
/// </summary>
/// <param name="str">要截取的字符串</param>
/// <param name="len">规定该字符串显示的长度</param>
/// <returns>结果字符串</returns>

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
e.Row.Cells[0].ToolTip = Str;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)//数据行
{
string Str = e.Row.Cells[0].Text; //第二列内容
if (Str.Length > 10) //第二列内容大于20个
{
e.Row.Cells[0].Text = Str.Substring(0, 10) + "..."; //截取20个显示,其他用“...”号代替
e.Row.Cells[0].ToolTip = Str;//鼠标放上去显示全部信息
}
}
}
}
string Str;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)//数据行
{
Str = e.Row.Cells[0].Text; //第二列内容
if (Str.Length > 2) //第二列内容大于20个
{
e.Row.Cells[0].Text = Str.Substring(0, 2) + "..."; //截取20个显示,其他用“...”号代替
e.Row.Cells[0].ToolTip = Str;//鼠标放上去显示全部信息
}
}

还是不对。。。。没有效果的
展开
 我来答
辉京娱乐
2012-07-19 · 超过30用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:73.2万
展开全部
你这程序根本就运行不起来。把GridView1_RowDataBound事件中 的string Str 放到外面,然后在里面在 Str=e.Row.Cells[0].Text; //第二列内容
更多追问追答
追问
GridView1_SelectedIndexChanged中的代码是要删掉的。。
可是如果把GridView1_RowDataBound事件中 的string Str 放到外面那个Rom不对呀
追答
在GridView1_RowDataBound事件上方  string Str="";
在事件里边 Str=e.Row.Cells[0].Text; //第二列内容
这样还不对么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfce4e1
2012-07-19 · 超过10用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:21.7万
展开全部
public static string Str=“”;//这样定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zeeyondwu
2012-07-19 · 超过13用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:33.6万
展开全部
你的Str 变量不是全局的
更多追问追答
追问
怎么改才能把Str变为全局变量
直接把这一句话话拉出去会提示rom错误的
追答
就是绑定的时间控制显示字段的长度是吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式