1、GridView一般换行与强制换行2008-03-25 22:472081人阅读评论(0)收藏举报datasetobjectaspstringtextbox工作 11.GridView一般换行与强制换行:protected void GridView1_OnRowCreated(object sender, GridViewRowEventArgs e) for (int i = 0; i e.Row.Cells.Count; i+) e.Row.Cellsi.Wrap = false; e.Row.Cellsi.Attributes.Add(style, word-break :keep-a
2、ll ; word-wrap:keep-all); if (e.Row.RowType = DataControlRowType.Header) /e.Row.Cells0.Text = ; if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Attributes.Add(onmouseover, c=this.style.backgroundColor; this.style.backgroundColor=#eafcd5); /变量c用与存储鼠标移动在行上时,原来的背景色,然后设置为#CCCCCC e.Row.Attributes.A
3、dd(onmouseout, this.style.backgroundColor=c); /当鼠标离开时,还原背景色 效果图: 解决方法:数据绑定后过滤每一行即可 首先设置gridview里有一列绑定的数据很长,显示的时候在一行里面显示,页面拉得很宽。原因是连续英文段为一个整体导致的,在RowDataBound中添加上了一句e.Row.Cells2.Style.Add(word-break, break-all)就可以。 如果要给所有的列增加此属性: protected void Page_Load(object sender, EventArgs e) /正常换行 GridView1.At
4、tributes.Add(style, word-break:keep-all;word-wrap:normal); /下面这行是自动换行 GridView1.Attributes.Add(style, word-break:break-all;word-wrap:break-word); if (!IsPostBack) bind();/调用数据绑定即可 总之:善用CSS的word-break:break-all;word-wrap:break-word属性即可,这个属性是通用的对于顽固的南换行问题都可以解决,不局限于GridView。 12.GridView显示隐藏某一列: 本方案为月儿独
5、创,不同于网上其他方式,我觉得用一个CheckBox更人性化,这样可以隐藏不必要的列,让用户自己选择需要出现的列,在处理多列时这是一个很好的解决方案! 效果图:图1-开始 效果图:图2-点击显示的CheckBox后 解决方案: public void bind() string sqlstr = select top 5 * from 飞狐工作室; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet();
6、sqlcon.Open(); myda.Fill(myds, 飞狐工作室); GridView1.DataSource = myds; GridView1.DataKeyNames = new string 身份证号码 ; GridView1.DataBind(); sqlcon.Close(); GridView1.Columns3.Visible = false;/一开始隐藏 CheckBox1.Checked = false;/如果不这样后面的代码会把他True 双击CheckBox1,在CheckedChanged方法里写上代码,最后代码如下: protected void Check
7、Box1_CheckedChanged(object sender, EventArgs e) GridView1.Columns3.Visible=! GridView1.Columns3.Visible; Response.Write(GridView1的第4列现在的显示隐藏状态是:+GridView1.Columns3.Visible.ToString(); 注意:CheckBox1的AutoPostBack要True! 后台全部代码如下: using System;using System.Data;using System.Configuration;using System.Web
8、;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page SqlConnection sqlcon; SqlCommand sqlcom; string strCon = Data Sourc
9、e=(local);Database=北风贸易;Uid=sa;Pwd=sa; protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) ViewStateSortOrder = 身份证号码; ViewStateOrderDire = ASC; bind(); protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) GridView1.EditIndex = e.NewEditIndex; bind(); protect
10、ed void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) string sqlstr = delete from 飞狐工作室 where 身份证号码= + GridView1.DataKeyse.RowIndex.Value.ToString() + ; sqlcon = new SqlConnection(strCon); sqlcom = new SqlCommand(sqlstr,sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close
11、(); bind(); protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) sqlcon = new SqlConnection(strCon); string sqlstr = update 飞狐工作室 set 姓名= + (TextBox)(GridView1.Rowse.RowIndex.Cells1.Controls0).Text.ToString().Trim() + ,家庭住址= + (TextBox)(GridView1.Rowse.RowIndex.Cells3.Contr
12、ols0).Text.ToString().Trim() + where 身份证号码= + GridView1.DataKeyse.RowIndex.Value.ToString() + ; sqlcom=new SqlCommand(sqlstr,sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); GridView1.EditIndex = -1; bind(); protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEdit
13、EventArgs e) GridView1.EditIndex = -1; bind(); public void bind() string sqlstr = select top 5 * from 飞狐工作室; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, 飞狐工作室); GridView1.DataSource = myds;
14、 GridView1.DataKeyNames = new string 身份证号码 ; GridView1.DataBind(); sqlcon.Close(); GridView1.Columns3.Visible = false; CheckBox1.Checked = false; protected void CheckBox1_CheckedChanged(object sender, EventArgs e) GridView1.Columns3.Visible=! GridView1.Columns3.Visible; Response.Write(GridView1的第4列现在的显示隐藏状态是:+GridView1.Columns3.Visible.ToString(); 前台代码: GridView显示隐藏列 清清月儿http:/