`
java2000.net
  • 浏览: 649391 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

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

阅读更多

    需求千奇百怪,有的要求表格里的内容自动换行,有的不要求,其实设置DataGrid的CSS样式单属性即可实现大部分的需求,但对于不换行的实现,单靠样式单还不能完全满足要求,下面就是一种解决的方法:

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script 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>

 

分享到:
评论

相关推荐

    C# WPF DataGrid行拖拽顺序交换

    在C# WPF环境中,DataGrid控件是一个非常强大的数据展示和编辑工具,它允许用户以表格形式查看和操作数据。在开发过程中,有时我们需要实现一个功能,即允许用户通过拖拽行来改变DataGrid中数据的显示顺序。这个功能...

    easyui datagrid editor回车切换单元格示例,可参考

    easyui datagrid editor回车切换单元格示例,适合熟悉easyui但又不懂如何做的人员,可能参考一下源码JS。

    easyui datagrid中实现上下左右、回车切换单元格

    easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格

    C# winform开发 DataGrid带筛选功能

    在C# WinForm应用开发中,DataGrid控件是一个常用的数据展示工具,它允许用户以表格形式查看和操作数据。然而,为了提升用户体验并增强数据管理能力,常常需要为DataGrid添加筛选功能,使得用户可以快速查找和定位所...

    easyui帮助手册datagrid

    你可以通过这个属性自定义每一列的显示样式和内容。 2. **frozenColumns**:此属性用于创建固定在左侧不会随滚动条移动的列,适合用来显示关键信息或分类。 3. **fitColumns**:若设置为 `true`,Datagrid 会自动...

    easyui DataGrid 数据表格 属性

    15. **nowrap**:是否允许单元格内容自动换行,如果为 true,内容将不换行,可能导致内容被截断。 博客文章可能深入讲解了这些属性的使用方法,以及如何根据需求调整它们来实现特定功能。例如,通过设置 `...

    Flex4 DataGrid表格操作

    Flex4 DataGrid表格操作,表格回车事件默认是换行,这里修改为换单元格,单元格轮完换行。支持上下左右和回车键控制光标位置,还添加了"+","-"按钮,用于控制添加行和删除选中的行。

    Jquery-easyui的datagrid中文文档

    默认值均为`auto`,意味着DataGrid将根据其内容自动调整大小。然而,在设计固定布局时,明确指定`width`和`height`可以确保DataGrid按照预期显示。 - **columns**:一个数组,包含DataGrid列的配置对象。每列的配置...

    Flex中如何根据每行内容设置不同底色

    通过以上步骤,你可以在Flex的`DataGrid`中实现根据每行内容设置不同底色的功能。记住,`itemRenderer`是一个强大且灵活的工具,可以满足各种定制化需求,不仅仅局限于背景色的改变。在实际应用中,还可以扩展`...

    JQuery_EasyUI_DataGrid_中文文档

    10. `nowrap`:布尔类型,如果设置为 true,数据将在同一行内显示,不换行。默认值为 true。 11. `idField`:字符串类型,定义了用于标识记录的字段名,通常用于主键字段。 12. `url`:字符串类型,指定从远程...

    DataGrid使用方法

    7. **PagerStyle.Wrap**: 决定单元格内容是否换行。 ### DataGrid事件 1. **OnCancelCommand**: 当用户点击带有`CommandName=Cancel`的按钮时触发。 2. **OnDeleteCommand**: 用户点击带有`CommandName=Delete`的...

    jQuery EasyUI之DataGrid使用实例详解

    - `nowrap`控制单元格内的文本是否换行。 - `striped`设置是否显示行间交替色。 - `fitColumns`自动调整列宽以填满整个DataGrid。 - `singleSelect`设置是否允许单选。 - `queryParams`传递查询参数到服务器。 ...

    第32章 DataGrid(数据表格)组件[3]1

    8. `showHeader`和`showFooter`: 分别控制是否显示表头和表尾,默认情况下,表头是显示的,表尾不显示。 9. `scrollbarSize`: 指定滚动条的宽度或高度,默认为18像素。 接下来,我们关注列的属性设置: 1. `align`...

    easyui 中的datagrid跨页勾选问题的实现方法

    2. `nowrap`: 如果为`false`,则允许单元格内容换行。 3. `multiSort`: 允许多列排序。 4. `singleSelect`: 如果为`true`,只允许单选;设置为`false`可实现多选。 5. `selectOnCheck`: 如果为`false`,在点击复选框...

    [DataGird]如何截取过长的字符串

    在数据展示应用中,尤其是在使用`DataGrid`组件时,我们经常会遇到这样的问题:当单元格中的文本长度超过了列的宽度时,显示效果会受到影响,例如文本被截断或换行等。这不仅影响了界面的美观,还可能造成信息展示不...

    简单的winCE下点button 添加一行

    在Windows CE(简称WinCE)操作系统环境下,开发嵌入式应用程序时,我们常常需要与用户进行交互,按钮(Button)控件就是最常见的交互元素之一。本文将深入探讨如何在WinCE下实现一个简单的功能:点击按钮后,在...

    功能强大的免费DataGridView打印控件

    VB2008Print为通用打印控件(为可视化组件),可以混合打印一个或多个DataGridView表格、DataGrid表格与文字、图片等内容;而DGVprint是以VB2008Print为基础开发的(为非可视化组件),为专用的表格打印控件,可以很...

    将Silverlight DataGrid导出到Excel XML / CSV

    在IT行业中,数据的导入与导出是常见的需求,特别是在数据处理和分析时。这篇关于“将Silverlight DataGrid导出到Excel XML / CSV”的文章深入探讨了如何利用C#和.NET框架,将Silverlight应用中的DataGrid组件的数据...

    easyui-edatagrid.js实现回车键结束编辑功能的实例

    easyui的可编辑表格并不具备回车事件。这让edatagrid在结束编辑时的操作很麻烦,除非你点击其他行,或者点出表格否则不会取消编辑行。 为了让结束编辑操作更简单些,我为每个单元格添加了回车事件,当回车时结束本行...

Global site tag (gtag.js) - Google Analytics