如何在GridView列显示新行 [英] How to show new line in a GridView column
问题描述
我有下面的C#功能:
public string CheckInCollection(long lngProvId)
{
//...
foreach (var item in collList)
{
strColl += item.Id.ToString() + " (" + item.Title + ")" + "\r\n";
}
return strColl;
}
下面的C#功能:
The following C# function:
public void PopulateGridView(bool blType)
{
if (blType == false)
{
}
else
{
strCollFinalized = "" + ddlContent.SelectedItem + "|" + CheckInCollection(Convert.ToInt64(ddlContent.SelectedItem.Value)) + "";
string[] strL = strCollFinalized.Split('|');
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("Provider");
DataColumn dc1 = new DataColumn("Collection");
dt.Columns.Add(dc);
dt.Columns.Add(dc1);
DataRow dr = dt.NewRow();
dr[dc] = strL[0];
dr[dc1] = strL[1];
dt.Rows.Add(dr);
gvData.DataSource = dt;
gvData.DataBind();
}
}
在生成GridView的第二列显示在同一行,但是当我检查源,它在下一行显示。
When the gridview is generated the second column is displayed in one line but when I check the source, it is displaying in the next line.
如何修改,使返回的字符串显示每个的strcoll
在一个新行。
How can I modify so that the returned string shows each strColl
in a new line.
推荐答案
作为@ user2169261建议,可以加入< BR>
而不是 \\ r \\ n
As @user2169261 suggested, you can add <br>
instead of \r\n
然后就可以设置列的 HtmlEn code
属性,你要显示的换行符假
。
Then you can set the HtmlEncode
property of the column you want to show the newline to false
.
例如:
<Columns>
<asp:BoundField DataField="Whatever" HtmlEncode="False" />
</Columns>
有关自动生成的列,你可以试试下面的办法(按照本回答)
For autogenerated columns, you can try following approach (as per this answer)
请你自己的DataTable的检查,并为每一列显式绑定列:
Make your own inspection of the DataTable and create an explicit BoundColumn for each column:
foreach (DataColumn column in dt.Columns)
{
GridViewColumn boundColumn = new BoundColumn
{
DataSource = column.ColumnName,
HeaderText = column.ColumnName,
HtmlEncode = false
};
gvData.Columns.Add(boundColumn);
}
gvData.DataSource = dt;
gvData.DataBind();
这篇关于如何在GridView列显示新行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!