DataGrid设计的时候,除了自动格式设置以外,什么都没有改过
数据库3个字段,当中那个有点长
显示的时候动态邦定,事前没有指定过列宽的。
当中那个项目,如果像以下那样,全部是 a 的文字列,就不能自动换行了。aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
页面变得很宽很宽。有什么解决方法吗????
DataGrid要么其他控件对齐的。所以总宽度定死的。
这个宽度我也试着去定了,但是没有用。
谁给我一个Source看看最好。
以上。

解决方案 »

  1.   

    请参考这里:
    http://blog.csdn.net/zhangjian01361/articles/1132611.aspx
      

  2.   

    ref:
    http://www.syncfusion.com/faq/aspnet/search/363.aspx
      

  3.   

    http://blog.csdn.net/zhangjian01361/articles/1132611.aspx
      

  4.   

    <%#(DataBinder.Eval(Container.DataItem,"Picture_Name").ToString().Trim().Length>4?DataBinder.Eval(Container.DataItem,"Picture_Name").ToString().Substring(0,4)+"...":DataBinder.Eval(Container.DataItem,"Picture_Name"))%>
    这是我做一个长文字处理,假如Picture_Name有10文字,那么这个处理使得在页面上只显示前4个文字,你可以根据自己的需要作响应的处理,这必须在DATAGRID的模版列操作!
      

  5.   

    WORD-WRAP: break-word 自动找到正解了,不过还是要感谢大家!
      

  6.   

    style="word-break:break-all"  这个应该更适合一点
      

  7.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
    {
                    string i = e.Item.Cells[2].Text;
                    if (i.Length > 2)
                    {
                        e.Item.Cells[2].Text = i.Substring(0, 2) + "...";
                    }
    }
    }
      

  8.   

    <ItemStyle Wrap="True"></ItemStyle>
      

  9.   

    你是做的webform还是winform
    如果是webform在datagrid的属性里可以设置各列的宽度有两种格式(%,px)。
    如果是winform我觉得最好的方法是写代码,当让也可设置tablestyle属性,但因为我的数据操作都是手写代码,所以使用自代属性有些拘束。
    代码如下:
    ds=db.ExcDataSet(sql);
    DataTable myDataTable = ds.Tables[0];

    this.dataGrid1.DataSource=myDataTable;
    // DataGridTableStyle dgts = new DataGridTableStyle
    (true);
    //this.dataGrid1.DataMember=ds.Tables
    [0].DefaultView.ToString();
    dgts.DataGrid=this.dataGrid1;
    dgts.MappingName = myDataTable.TableName; this.dataGrid1.TableStyles.Clear();
    this.dataGrid1.TableStyles.Add(dgts); dgts.GridColumnStyles[0].HeaderText = "编号";
    dgts.GridColumnStyles[0].Width = 100; //'第一列,列宽
    100
    dgts.GridColumnStyles[0].MappingName = "VESSEL";
    dgts.GridColumnStyles[1].HeaderText = "科目名称";
    dgts.GridColumnStyles[1].Width = 200; //‘第二列,宽
    度为0 则隐藏
    dgts.GridColumnStyles[1].MappingName = "IVOYAGE";
    ============================================================
    看完代码别忘了给分······
      

  10.   

    1、自动换行
    2、最好还是处理一下字符长度,substring