请教大家一个问题,我用datagrid和AspNetPager显示数据和分页。其中有一列“文章内容”,字符很多,而且不换行。请问怎么能让这一列自动换行?谢谢大家!

解决方案 »

  1.   

    select   *,('<pre>'+question+'</pre>') question   from   table
      

  2.   

    1.
    文章内容 怎么能将其考虑放入 DataGrid 呢?点开详细页面再加载比较合适2.
    假如是文本框来的数据加入 pre 标签可以保持格式<%# DataBinder.Eval(Container.DataItem, "MyField", "<pre>{0}</pre>") %>3.
    用网页编辑器比如 FCKEditor 可以具有丰富格式
      

  3.   


    --this style only for ie ---style='word-break:break-all'
    select  *,('<label style="word-break:break-all">'+question+'</label>') question  from  table
      

  4.   

    在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>
      

  5.   

    模板列加Label,设置Label样式为style="word-wrap:break-word;word-break:break-all;"即可
      

  6.   

    不知道 datagrid 和 gridview 是不是相似参考下http://topic.csdn.net/u/20080529/17/f26b2d5b-9223-490b-8377-7fec8790634f.html?seed=350294670
      

  7.   

    datagrid 的设计器中有列的宽度和换行,将列宽设好并把自动换行的勾勾打上
      

  8.   

     链接数据库的类自己写! 下面的是递归的二级树代码,你还可以写三级、四级。。等等,基本的代码差不多
     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);
        }
      

  9.   


    这个方法最好:
    在aspx页里的datagrid的"文章内容列"加上 <ItemStyle Wrap="true" Width="150px" />