首先设置
gridview里有一列绑定的数据很长,显示的时候在一行里面显示,页面拉得很宽。 原因是连续英文段为一个整体导致的,在RowDataBound中添加上了一句e.Row.Cells[2].Style.Add(\就可以。 如果要给所有的列增加此属性:
protected void Page_Load(object sender, EventArgs e) {
//正常换行
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! 后台全部代码如下: using System; using System.Data;
using System.Configuration; using System.Web;
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 = \北风贸易;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() + \身份证号码=''\
+ 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列现在的显示隐藏状态是:\ } }
前台代码:
13.GridView弹出新页面/弹出制定大小位置新窗口: