datagrid换行的问题!急!大家帮帮忙! 请教大家一个问题,我用datagrid和AspNetPager显示数据和分页。其中有一列“文章内容”,字符很多,而且不换行。请问怎么能让这一列自动换行?谢谢大家! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select *,('<pre>'+question+'</pre>') question from table 1.文章内容 怎么能将其考虑放入 DataGrid 呢?点开详细页面再加载比较合适2.假如是文本框来的数据加入 pre 标签可以保持格式<%# DataBinder.Eval(Container.DataItem, "MyField", "<pre>{0}</pre>") %>3.用网页编辑器比如 FCKEditor 可以具有丰富格式 --this style only for ie ---style='word-break:break-all'select *,('<label style="word-break:break-all">'+question+'</label>') question from table 在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> 模板列加Label,设置Label样式为style="word-wrap:break-word;word-break:break-all;"即可 不知道 datagrid 和 gridview 是不是相似参考下http://topic.csdn.net/u/20080529/17/f26b2d5b-9223-490b-8377-7fec8790634f.html?seed=350294670 datagrid 的设计器中有列的宽度和换行,将列宽设好并把自动换行的勾勾打上 链接数据库的类自己写! 下面的是递归的二级树代码,你还可以写三级、四级。。等等,基本的代码差不多 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); } 这个方法最好:在aspx页里的datagrid的"文章内容列"加上 <ItemStyle Wrap="true" Width="150px" /> asp.net怎么用网站去调用别人的OA接口 本机的网站如何能让局域网内的其他用户访问 图片处理 CustomValidator验证问题 数据相加的代码 怎么保护自己的dll文件不让人反编译? c#字符串截取问题 就这点分了!帮偶把vb.net的一小段代码翻译成C#的,多谢了!!急!! 请问为什么有些页面不能debug啊? 简单的sql:access下怎样使某个字段的值加1? 关于IIS的权限设定 提问:将web页面的内容导出excel的一些问题
文章内容 怎么能将其考虑放入 DataGrid 呢?点开详细页面再加载比较合适2.
假如是文本框来的数据加入 pre 标签可以保持格式<%# DataBinder.Eval(Container.DataItem, "MyField", "<pre>{0}</pre>") %>3.
用网页编辑器比如 FCKEditor 可以具有丰富格式
--this style only for ie ---style='word-break:break-all'
select *,('<label style="word-break:break-all">'+question+'</label>') question from table
不过如过让换行,那每行的高度就不同了,显示出来挺难看,建议"文章内容列"列固定宽度,用一个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>
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);
}
这个方法最好:
在aspx页里的datagrid的"文章内容列"加上 <ItemStyle Wrap="true" Width="150px" />