需求千奇百怪,有的要求表格里的内容自动换行,有的不要求,其实设置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控件是一个非常强大的数据展示和编辑工具,它允许用户以表格形式查看和操作数据。在开发过程中,有时我们需要实现一个功能,即允许用户通过拖拽行来改变DataGrid中数据的显示顺序。这个功能...
easyui datagrid editor回车切换单元格示例,适合熟悉easyui但又不懂如何做的人员,可能参考一下源码JS。
easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格
在C# WinForm应用开发中,DataGrid控件是一个常用的数据展示工具,它允许用户以表格形式查看和操作数据。然而,为了提升用户体验并增强数据管理能力,常常需要为DataGrid添加筛选功能,使得用户可以快速查找和定位所...
你可以通过这个属性自定义每一列的显示样式和内容。 2. **frozenColumns**:此属性用于创建固定在左侧不会随滚动条移动的列,适合用来显示关键信息或分类。 3. **fitColumns**:若设置为 `true`,Datagrid 会自动...
15. **nowrap**:是否允许单元格内容自动换行,如果为 true,内容将不换行,可能导致内容被截断。 博客文章可能深入讲解了这些属性的使用方法,以及如何根据需求调整它们来实现特定功能。例如,通过设置 `...
Flex4 DataGrid表格操作,表格回车事件默认是换行,这里修改为换单元格,单元格轮完换行。支持上下左右和回车键控制光标位置,还添加了"+","-"按钮,用于控制添加行和删除选中的行。
默认值均为`auto`,意味着DataGrid将根据其内容自动调整大小。然而,在设计固定布局时,明确指定`width`和`height`可以确保DataGrid按照预期显示。 - **columns**:一个数组,包含DataGrid列的配置对象。每列的配置...
通过以上步骤,你可以在Flex的`DataGrid`中实现根据每行内容设置不同底色的功能。记住,`itemRenderer`是一个强大且灵活的工具,可以满足各种定制化需求,不仅仅局限于背景色的改变。在实际应用中,还可以扩展`...
10. `nowrap`:布尔类型,如果设置为 true,数据将在同一行内显示,不换行。默认值为 true。 11. `idField`:字符串类型,定义了用于标识记录的字段名,通常用于主键字段。 12. `url`:字符串类型,指定从远程...
7. **PagerStyle.Wrap**: 决定单元格内容是否换行。 ### DataGrid事件 1. **OnCancelCommand**: 当用户点击带有`CommandName=Cancel`的按钮时触发。 2. **OnDeleteCommand**: 用户点击带有`CommandName=Delete`的...
- `nowrap`控制单元格内的文本是否换行。 - `striped`设置是否显示行间交替色。 - `fitColumns`自动调整列宽以填满整个DataGrid。 - `singleSelect`设置是否允许单选。 - `queryParams`传递查询参数到服务器。 ...
8. `showHeader`和`showFooter`: 分别控制是否显示表头和表尾,默认情况下,表头是显示的,表尾不显示。 9. `scrollbarSize`: 指定滚动条的宽度或高度,默认为18像素。 接下来,我们关注列的属性设置: 1. `align`...
2. `nowrap`: 如果为`false`,则允许单元格内容换行。 3. `multiSort`: 允许多列排序。 4. `singleSelect`: 如果为`true`,只允许单选;设置为`false`可实现多选。 5. `selectOnCheck`: 如果为`false`,在点击复选框...
在数据展示应用中,尤其是在使用`DataGrid`组件时,我们经常会遇到这样的问题:当单元格中的文本长度超过了列的宽度时,显示效果会受到影响,例如文本被截断或换行等。这不仅影响了界面的美观,还可能造成信息展示不...
在Windows CE(简称WinCE)操作系统环境下,开发嵌入式应用程序时,我们常常需要与用户进行交互,按钮(Button)控件就是最常见的交互元素之一。本文将深入探讨如何在WinCE下实现一个简单的功能:点击按钮后,在...
VB2008Print为通用打印控件(为可视化组件),可以混合打印一个或多个DataGridView表格、DataGrid表格与文字、图片等内容;而DGVprint是以VB2008Print为基础开发的(为非可视化组件),为专用的表格打印控件,可以很...
在IT行业中,数据的导入与导出是常见的需求,特别是在数据处理和分析时。这篇关于“将Silverlight DataGrid导出到Excel XML / CSV”的文章深入探讨了如何利用C#和.NET框架,将Silverlight应用中的DataGrid组件的数据...
easyui的可编辑表格并不具备回车事件。这让edatagrid在结束编辑时的操作很麻烦,除非你点击其他行,或者点出表格否则不会取消编辑行。 为了让结束编辑操作更简单些,我为每个单元格添加了回车事件,当回车时结束本行...