需求千奇百怪
有的要求表格裡的內容自動換行
有的不要求
其實設置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(Int
)));
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[
] = i;
dr[
] = @
我是中文文字
I am English words
我不想換行
I don
t wanna have new lines
歡迎訪問
<a >/</a>
有好料啊
)
;
dr[
] =
* (i+
);
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[
]
Text =
<nobr>
+ e
Item
Cells[
]
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=
{
:c}
>
<ItemStyle HorizontalAlign=
right
></ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26885.html