//正常换行
GridView1.Attributes.Add(\ //下面这行是自动换行
GridView1.Attributes.Add(\ if (!IsPostBack) {
bind();//调用数据绑定即可 } }
总之:善用CSS的word-break:break-all;word-wrap:break-word属性即可,这个属性是通用的对于顽固的南换行问题都可以解决,不局限于GridView。 12.GridView显示隐藏某一列:
本方案为月儿独创,不同于网上其他方式,我觉得用一个CheckBox更人性化,这样可以隐藏不必要的列,让用户自己选择需要出现的列,在处理多列时这是一个很好的解决方案!
效果图:图1-开始 图2-点击显示的CheckBox后
解决方案: public void bind() {
string sqlstr = \飞狐工作室\ sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open();
myda.Fill(myds, \飞狐工作室\ GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { \身份证号码\ GridView1.DataBind(); sqlcon.Close();
GridView1.Columns[3].Visible = false;//一开始隐藏
CheckBox1.Checked = false;//如果不这样后面的代码会把他True }
双击CheckBox1,在CheckedChanged方法里写上代码,最后代码如下: protected void CheckBox1_CheckedChanged(object sender, EventArgs e) {
GridView1.Columns[3].Visible=! GridView1.Columns[3].Visible; Response.Write(\的第4列现在的显示隐藏状态是:\ }
注意:CheckBox1的AutoPostBack要True! 后台全部代码如下:
public partial class _Default : System.Web.UI.Page {
SqlConnection sqlcon; SqlCommand sqlcom;
string strCon = \北风贸易;Uid=sa;Pwd=sa\ protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
ViewState[\身份证号码\ ViewState[\ bind();
} }
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {
GridView1.EditIndex = e.NewEditIndex; bind(); }
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {
string sqlstr = \飞狐工作室 where 身份证号码='\GridView1.DataKeys[e.RowIndex].Value.ToString() + \ sqlcon = new SqlConnection(strCon); sqlcom = new SqlCommand(sqlstr,sqlcon); sqlcon.Open();
sqlcom.ExecuteNonQuery(); sqlcon.Close(); bind(); }
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {
sqlcon = new SqlConnection(strCon);
string sqlstr = \飞狐工作室 set 姓名='\ +
((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + \家庭住址='\ +
((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + \where 身份证号码='\
+ GridView1.DataKeys[e.RowIndex].Value.ToString() + \
sqlcom=new SqlCommand(sqlstr,sqlcon); sqlcon.Open();
sqlcom.ExecuteNonQuery(); sqlcon.Close();
GridView1.EditIndex = -1; bind(); }
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {
GridView1.EditIndex = -1; bind(); }
public void bind() {
string sqlstr = \飞狐工作室\ sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open();
myda.Fill(myds, \飞狐工作室\ GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { \身份证号码\ GridView1.DataBind(); sqlcon.Close();
GridView1.Columns[3].Visible = false; CheckBox1.Checked = false;
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e) {
GridView1.Columns[3].Visible=! GridView1.Columns[3].Visible; Response.Write(\的第4列现在的显示隐藏状态是:\ } }
前台代码:
AutoGenerateColumns=\OnRowEditing=\
OnRowUpdating=\
OnRowCancelingEdit=\
BorderColor=\>