如何控制DataGrid里的内容换行与不换行

  1. <FONT size=2><%@ Page Language="<a href="http://dev.21tx.com/dotnet/csharp/" target="_blank">C#</a>" AutoEventWireup="True" %>
  2. <%@ Import Namespace="System.Data" %>
  3. <html>
  4. <script runat="server">
  5. int start_index;
  6. ICollection CreateDataSource() 
  7. {
  8. DataTable dt = new DataTable();
  9. DataRow dr;
  10. dt.Columns.Add(new DataColumn("IntegerValue"typeof(Int32)));
  11. dt.Columns.Add(new DataColumn("StringValue"typeof(string)));
  12. dt.Columns.Add(new DataColumn("CurrencyValue"typeof(double)));
  13. for (int i = start_index; i < start_index + ItemsGrid.PageSize; i++) 
  14. {
  15.     dr = dt.NewRow(); 
  16.     dr[0] = i;
  17.     dr[1] = @"我是中文文字,I am English words,我不想换行,
  18.             I don't wanna have new lines,欢迎访问 
  19.             <a href='http://dotnet.aspx.cc/'>http://dotnet.aspx.cc/</a>,
  20.             有好料啊:)";
  21.     dr[2] = 1.23 * (i+1);
  22.     dt.Rows.Add(dr);
  23. }
  24. DataView dv = new DataView(dt);
  25. return dv;
  26. }
  27. void Page_Load(Object sender, EventArgs e) 
  28. {
  29. //对于没有数字的内容,下面这行完全满足要求,但加了数字就不行,必须调用OnItemDataBound
  30. ItemsGrid.Attributes.Add("style","word-break:keep-all;word-wrap:normal");
  31. //下面这行是自动换行
  32. //ItemsGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word");
  33. if (!IsPostBack)
  34. {
  35.     BindGrid(); 
  36. }
  37. }
  38. void BindGrid() 
  39. {
  40. ItemsGrid.DataSource=CreateDataSource();
  41. ItemsGrid.DataBind();     
  42. }
  43. void Item_DataBound(Object sender, DataGridItemEventArgs e) 
  44. {
  45. if( e.Item.ItemType == ListItemType.Item ||
  46.     e.Item.ItemType == ListItemType.AlternatingItem)
  47.    e.Item.Cells[1].Text = "<nobr>" + e.Item.Cells[1].Text + "</nobr>"
  48. }
  49. </script>
  50. <body>
  51. <form runat="server">
  52. <asp:DataGrid id="ItemsGrid" runat="server" BorderColor="black"
  53.     OnItemDataBound="Item_DataBound" AutoGenerateColumns="false">
  54. <AlternatingItemStyle BackColor="#DEDEDE"></AlternatingItemStyle>
  55. <HeaderStyle BackColor="#EEEEFF" HorizontalAlign="Center"></HeaderStyle>
  56. <Columns>
  57. <asp:BoundColumn HeaderText="序号" DataField="IntegerValue"/>
  58. <asp:BoundColumn HeaderText="文字" DataField="StringValue"/>
  59. <asp:BoundColumn HeaderText="价格" DataField="CurrencyValue" DataFormatString="{0:c}">
  60. <ItemStyle HorizontalAlign="right"></ItemStyle>
  61. </asp:BoundColumn>
  62. </Columns>
  63. </asp:DataGrid>
  64. </form>
  65. </body>
  66. </html>
  67. </FONT>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值