http://blog.csdn.net/fanzhonglei/archive/2008/09/26/2982568.aspx
http://www.jsweb8.cn/html/js_page/132.htm
GridView里有一列绑定的数据很长,显示的时候在一行里面显示,页面拉得很宽。
原因是连续英文段为一个整体导致的,在RowDataBound中添加上了一句e.Row.Cells[2].Style.Add("word-break", "break-all")就可以。如果要给所有的列增加此属性:
protected void Page_Load(object sender, EventArgs e)
{
//正常换行
GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
//下面这行是自动换行
GridView1.Attributes.Add("style", "word-break:break-all;word-wrap:break-word");
if (!IsPostBack)
{
databind();
}
}
public partial class _Default : System.Web.UI.Page
{
SqlConnection sqlConn;
SqlCommand sqlComm;
string strConn = "Data Source=(local);Database=Exercise;Uid=sa;Pwd=sa";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
databind();
}
}
private void databind()
{
string strSql = "select * from myDt";
sqlConn = new SqlConnection(strConn);
SqlDataAdapter sqlDa = new SqlDataAdapter(strSql, sqlConn);
DataSet myDs = new DataSet();
sqlConn.Open();
sqlDa.Fill(myDs, "myDt");
GridView1.DataSource = myDs;
GridView1.DataKeyNames = new string[] { "ID" };//主键
GridView1.DataBind();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
DataRowView drv;
string str;
drv = myDs.Tables["myDt"].DefaultView[i];
str = Convert.ToString(drv["Address"]);
GridView1.Rows[i].Cells[5].Text = SubStr(str, 2);
}
sqlConn.Close();
}
private string SubStr(string str, int iLength)
{
if (str.Length <= iLength)
{
return str;
}
string strNewStr = str.Substring(0, iLength);
strNewStr = strNewStr + "...";
return strNewStr;
}
}
在asp.net 2.0中,如果要在绑定列中显示比如日期格式等,如果用下面的方法是显示不了的
<asp:BoundField DataField="Birthday" HeaderText="生日" DataFormatString="{0:yyyy年M月dd日}" />
主要是由于htmlencode属性默认设置为true,已防止XSS攻击,安全起见而用的,所以,可以有以下两种方法解决
1、
<asp:BoundField DataField="Birthday" HeaderText="生日" DataFormatString="{0:yyyy年M月dd日}" HtmlEncode="false" />
将htmlencode设置为false即可
2、另外的解决方法为,使用模版列
<asp:TemplateField HeaderText="生日">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Birthday", "{0:M-dd-yyyy}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
附录-常用格式化公式:
{0:C}货币;
{0:D4}由0填充的4个字符宽的字段中显示整数;
{0:000.0}四舍五入小数点保留第几位有效数字;
{0:N2}小数点保留2位有效数字;
{0:N2}%小数点保留2位有效数字加百分号;
{0:D}长日期;
{0:d}短日期;
{0:yy-MM-dd}例如07-3-25;
{0:yyyy-MM-dd}例如2007-3-25;