datagrid换行的问题!急!大家帮帮忙!

henhaodemajia 2008-05-29 05:10:10
请教大家一个问题,我用datagrid和AspNetPager显示数据和分页。

其中有一列“文章内容”,字符很多,而且不换行。

请问怎么能让这一列自动换行?

谢谢大家!
...全文
283 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
henhaodemajia 2008-05-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jinlong5200 的回复:]
对不起,发错了,呵呵,这是给别人的帖子的代码
[/Quote]

我汗呀~~
weiyue_net 2008-05-29
  • 打赏
  • 举报
回复

这个方法最好:
在aspx页里的datagrid的"文章内容列"加上 <ItemStyle Wrap="true" Width="150px" />
jinlong5200 2008-05-29
  • 打赏
  • 举报
回复
对不起,发错了,呵呵,这是给别人的帖子的代码
jinlong5200 2008-05-29
  • 打赏
  • 举报
回复
链接数据库的类自己写! 下面的是递归的二级树代码,你还可以写三级、四级。。。。。等等,基本的代码差不多
private DataSet ds = new DataSet();
private string sendTableName = "";//传参的表名变量
private string sendStrSQL = "";//传参Sql语句
if (!Page.IsPostBack)
{
//ImageButton1.AlternateText = "车辆管理";
sendTableName = "fname";
sendStrSQL = "SELECT * from fname where branchid=1";
dataBase();
DataView dv = new DataView(ds.Tables[0]);
foreach (DataRowView datav in dv)
{//循环数据视图,将对应的值交给一个节点对象,然后添加到树上有继续添加
TreeNode tn = new TreeNode();
tn.Text = datav["fname"].ToString() ;
tn.Value = datav["fid"].ToString();
tn.ImageUrl = "images/vessel_btn_open.gif";
tn.Expanded = false;
TreeView1.Nodes.Add(tn);
tn.SelectAction = TreeNodeSelectAction.Expand;
AddchildNodes(tn);//调用方法填充二级节点
}
}
private void AddchildNodes(TreeNode tn)
{
//填充二级节点,他需要一级节点的value ,所以干脆送了一个完整的根节点对象
int fid = Convert.ToInt32(tn.Value);
sendTableName = "sname";
sendStrSQL = "select * from sname";
dataBase();
DataView de = new DataView(ds.Tables[0]);
foreach (DataRowView datad in de)
{//同上
TreeNode ctn = new TreeNode();
ctn.Text = datad["sname"].ToString();
ctn.Value = datad["sid"].ToString();
if (datad["sid"].ToString() == "1")
{
ctn.Text = datad["sname"].ToString();
}
else
{
ctn.Text = "<a href='xianshi1.aspx?sid=" + datad["sid"].ToString() + "' target='mainFrame' style='font-size:small;color:#0099FF;text-decoration : none' > " + datad["sname"].ToString() + " </a>";
}
ctn.Target = "mainFrame";
ctn.Expanded = false;
ctn.SelectAction = TreeNodeSelectAction.Expand;
tn.ChildNodes.Add(ctn);
AddchildNodes1(ctn,fid);
}

}
//实例化链接数据库类
protected void dataBase()
{
DataBase link = new DataBase();
this.ds = link.SelectDataBase(sendStrSQL, sendTableName);
}
jinlong5200 2008-05-29
  • 打赏
  • 举报
回复
datagrid 的设计器中有列的宽度和换行,将列宽设好并把自动换行的勾勾打上
Jueyoung 2008-05-29
  • 打赏
  • 举报
回复
不知道 datagrid 和 gridview 是不是相似

参考下http://topic.csdn.net/u/20080529/17/f26b2d5b-9223-490b-8377-7fec8790634f.html?seed=350294670

[Quote=引用 3 楼 Jueyoung 的回复:]
在你的gridview 的 rowdatabound 中加入

C# codee.Row.Cells[2].Style.Add("word-break", "break-all");
e.Row.Cells[2].Width = 1024;



e.Row.Cells[2] 是第三列
这就是给第三列加css

e.Row.Cells[2].Width = 1024; 是说 宽度超过1024px 就换行
根据需要改下就好
[/Quote]
syc958 2008-05-29
  • 打赏
  • 举报
回复
这样做不是太美观吧!一般要做一个详细页面的!
Aderlee 2008-05-29
  • 打赏
  • 举报
回复
模板列加Label,设置Label样式为style="word-wrap:break-word;word-break:break-all;"即可
liujunhappy2005 2008-05-29
  • 打赏
  • 举报
回复
在aspx页里的datagrid的"文章内容列"加上<ItemStyle Wrap="true" />
不过如过让换行,那每行的高度就不同了,显示出来挺难看,建议"文章内容列"列固定宽度,用一个label显示内容,完整的内容用tooltip显示:
<asp:TemplateColumn HeaderText="文章内容">
<ItemStyle Wrap="false" Width="150px" />
<ItemTemplate>
<asp:Label runat="server" ID="lblContext" Width="150px" Text='<%#DataBinder.Eval(Container.DataItem,内容字段截断的值) %>'
ToolTip='<%#DataBinder.Eval(Container.DataItem,内容字段) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
Go 旅城通票 2008-05-29
  • 打赏
  • 举报
回复

--this style only for ie ---style='word-break:break-all'
select *,('<label style="word-break:break-all">'+question+'</label>') question from table
Jinglecat 2008-05-29
  • 打赏
  • 举报
回复
1.
文章内容

怎么能将其考虑放入 DataGrid 呢?

点开详细页面再加载比较合适

2.
假如是文本框来的数据加入 pre 标签可以保持格式

<%# DataBinder.Eval(Container.DataItem, "MyField", "<pre>{0}</pre>") %>

3.
用网页编辑器比如 FCKEditor 可以具有丰富格式
XJQ_1 2008-05-29
  • 打赏
  • 举报
回复
select *,('<pre>'+question+'</pre>') question from table

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧