//正常换行
GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
//下面这行是自动换行
GridView1.Attributes.Add("style", "word-break:break-all;word-wrap:break-word");
GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
//下面这行是自动换行
GridView1.Attributes.Add("style", "word-break:break-all;word-wrap:break-word");
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
True
"
%>
<% @ Import Namespace = " System.Data " %>
< html >
< script type = " text/C# " runat = " server " >
int start_index;
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = start_index; i < start_index + ItemsGrid.PageSize; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = @"我是中文文字,I am English words,我不想换行,
I don't wanna have new lines,欢迎访问
<a href='http://dotnet.aspx.cc/'>http://dotnet.aspx.cc/</a>,
有好料啊:)";
dr[2] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
//对于没有数字的内容,下面这行完全满足要求,但加了数字就不行,必须调用OnItemDataBound
ItemsGrid.Attributes.Add("style","word-break:keep-all;word-wrap:normal");
//下面这行是自动换行
//ItemsGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word");
if (!IsPostBack)
{
BindGrid();
}
}
void BindGrid()
{
ItemsGrid.DataSource=CreateDataSource();
ItemsGrid.DataBind();
}
void Item_DataBound(Object sender, DataGridItemEventArgs e)
{
if( e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Cells[1].Text = "<nobr>" + e.Item.Cells[1].Text + "</nobr>";
}
</ script >
< body >
< form runat = " server " >
< asp:DataGrid id = " ItemsGrid " runat = " server " BorderColor = " black "
OnItemDataBound = " Item_DataBound " AutoGenerateColumns = " false " >
< AlternatingItemStyle BackColor = " #DEDEDE " ></ AlternatingItemStyle >
< HeaderStyle BackColor = " #EEEEFF " HorizontalAlign = " Center " ></ HeaderStyle >
< Columns >
< asp:BoundColumn HeaderText = " 序号 " DataField = " IntegerValue " />
< asp:BoundColumn HeaderText = " 文字 " DataField = " StringValue " />
< asp:BoundColumn HeaderText = " 价格 " DataField = " CurrencyValue " DataFormatString = " {0:c} " >
< ItemStyle HorizontalAlign = " right " ></ ItemStyle >
</ asp:BoundColumn >
</ Columns >
</ asp:DataGrid >
</ form >
</ body >
</ html >
<% @ Import Namespace = " System.Data " %>
< html >
< script type = " text/C# " runat = " server " >
int start_index;
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = start_index; i < start_index + ItemsGrid.PageSize; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = @"我是中文文字,I am English words,我不想换行,
I don't wanna have new lines,欢迎访问
<a href='http://dotnet.aspx.cc/'>http://dotnet.aspx.cc/</a>,
有好料啊:)";
dr[2] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
//对于没有数字的内容,下面这行完全满足要求,但加了数字就不行,必须调用OnItemDataBound
ItemsGrid.Attributes.Add("style","word-break:keep-all;word-wrap:normal");
//下面这行是自动换行
//ItemsGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word");
if (!IsPostBack)
{
BindGrid();
}
}
void BindGrid()
{
ItemsGrid.DataSource=CreateDataSource();
ItemsGrid.DataBind();
}
void Item_DataBound(Object sender, DataGridItemEventArgs e)
{
if( e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Cells[1].Text = "<nobr>" + e.Item.Cells[1].Text + "</nobr>";
}
</ script >
< body >
< form runat = " server " >
< asp:DataGrid id = " ItemsGrid " runat = " server " BorderColor = " black "
OnItemDataBound = " Item_DataBound " AutoGenerateColumns = " false " >
< AlternatingItemStyle BackColor = " #DEDEDE " ></ AlternatingItemStyle >
< HeaderStyle BackColor = " #EEEEFF " HorizontalAlign = " Center " ></ HeaderStyle >
< Columns >
< asp:BoundColumn HeaderText = " 序号 " DataField = " IntegerValue " />
< asp:BoundColumn HeaderText = " 文字 " DataField = " StringValue " />
< asp:BoundColumn HeaderText = " 价格 " DataField = " CurrencyValue " DataFormatString = " {0:c} " >
< ItemStyle HorizontalAlign = " right " ></ ItemStyle >
</ asp:BoundColumn >
</ Columns >
</ asp:DataGrid >
</ form >
</ body >
</ html >