gridview控件显示数据库问题,急!
小弟在vs中调式了下,将gridview显示数据库表中一列数据,OK.
不过我想实现身份证后5-2位用xxxx来代替原来数字
在text中 string sSql = "select * from pass ";
sSql = Regex.Replace(sSql, @"^(\d+)\d{4}([Xx0-9])$", "$1XXXX$2");
TextBox1.Text = sSql.ToString();
是可行的,
不过换到gridview中,如何操作啊,代码如下
在page_load中
//先连接数据库
SqlConnection con = new SqlConnection();
con.ConnectionString = @"server=xxxx;database=xxxx;user id=xxxx;password=xxxx;";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
//选取数据库表内容
cmd.CommandText = "select emp_id from id ";
//使用dataadapter,设置dataset
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
sda.Fill(ds, "id");
con.Close();
DataTable dt = ds.Tables["id"];
//gridview设置datasource
GridView1.DataSource = dt;
GridView1.DataBind();
以上代码成功导入sql数据到gridview中,
我想实现开头的功能,便将橙色语句改成
string sSql = "select emp_id from id ";
sSql = Regex.Replace(sSql, @"^(\d+)\d{4}([Xx0-9])$", "$1XXXX$2");
cmd.CommandText = sSql.ToString();
身份证还是原样显示,
求大神指点,gridview如何replace,我已经using text.regularexpressions了。
sSql = Regex.Replace(sSql, @"^(\d+)\d{4}([Xx0-9])$", "$1XXXX$2");
此代码在text中可以让后2-5位以xxxx显示.
------最佳解决方案--------------------protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[身份证所在列].Text = Regex.Replace(e.Row.Cells[身份证所在列].Text, @"^(\d+)\d{4}([Xx0-9])$", "$1XXXX$2");
}
}
------其他解决方案--------------------自己顶啊啊啊暗暗啊
------其他解决方案--------------------求大神出现啊
------其他解决方案--------------------你用正则替换sql语句有啥用,应该替换查询结果
------其他解决方案--------------------