GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { \身份证号码\}; GridView1.DataBind();
for (int i = 0; i <= GridView1.Rows.Count - 1; i++) {
DataRowView mydrv; string gIntro;
if (GridView1.PageIndex == 0) {
mydrv = myds.Tables[\飞狐工作室\ gIntro = Convert.ToString(mydrv[\家庭住址\ GridView1.Rows[i].Cells[3].Text = SubStr(gIntro, 2); } else {
mydrv = myds.Tables[\飞狐工作室\+ (5 * GridView1.PageIndex)];
gIntro = Convert.ToString(mydrv[\家庭住址\ GridView1.Rows[i].Cells[3].Text = SubStr(gIntro, 2); } }
sqlcon.Close(); }
public string SubStr(string sString, int nLeng) {
if (sString.Length <= nLeng) {
return sString; }
string sNewStr = sString.Substring(0, nLeng); sNewStr = sNewStr + \ return sNewStr; }
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) {
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow) {
////鼠标经过时,行背景色变
//e.Row.Attributes.Add(\\'#E6F5FA'\ ////鼠标移出时,行背景色变
//e.Row.Attributes.Add(\\'#FFFFFF'\
////当有编辑列时,避免出错,要加的RowState判断
//if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) //{
// ((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add(\\t:return confirm('你确认要删除:\\\+ e.Row.Cells[1].Text + \吗?')\ //}
}
if (e.Row.RowIndex != -1) {
int id = e.Row.RowIndex + 1; e.Row.Cells[0].Text = id.ToString(); }
} }
11.GridView一般换行与强制换行:
效果图:
首先设置
gridview里有一列绑定的数据很长,显示的时候在一行里面显示,页面拉得很宽。
原因是连续英文段为一个整体导致的,在RowDataBound中添加上了一句e.Row.Cells[2].Style.Add(\word-break\\all\就可以。
如果要给所有的列增加此属性:
protected void Page_Load(object sender, EventArgs e) {
//正常换行
GridView1.Attributes.Add(\\-break:keep-all;word-wrap:normal\ //下面这行是自动换行
GridView1.Attributes.Add(\\-break:break-all;word-wrap:break-word\ if (!IsPostBack) {
bind();//调用数据绑定即可 } }
总之:善用CSS的word-break:break-all;word-wrap:break-word属性即可,这个属性是通用的对于顽固的南换行问题都可以解决,不局限于GridView。
12.GridView显示隐藏某一列:
本方案为月儿独创,不同于网上其他方式,我觉得用一个CheckBox更人性化,这样可以隐藏不必要的列,让用户自己选择需要出现的列,在处理多列时这是一个很好的解决方案!
效果图: 图1-开始
图2-点击显示的CheckBox后