private void AddTables(DataGrid myDataGrid, DataSet myDataSet)
{
foreach(DataTable t in myDataSet.Tables)
{
DataGridTableStyle myGridTableStyle = new 
DataGridTableStyle();
myGridTableStyle.MappingName = t.TableName;
myDataGrid.TableStyles.Add(myGridTableStyle);/* Note that DataGridColumnStyle objects will
be created automatically for the first DataGridTableStyle
when you add it to the GridTableStylesCollection.*/
}
// Gets the DataGridTextBoxColumn from the DataGrid control.
DataGridTextBoxColumn myTextBoxColumn;
// Assumes the CompanyName column is a DataGridTextBoxColumn.
myTextBoxColumn = (DataGridTextBoxColumn)dataGrid1.
TableStyles[0].GridColumnStyles[0];DataGridTextBox myGridTextBox;
myGridTextBox = (DataGridTextBox) myTextBoxColumn.TextBox;myGridTextBox.WordWrap=true;}

解决方案 »

  1.   

    coollzh(良子):
    非常感谢。
    刚才测试了一下,没有实现自动换行。
    能提供一个测试例子吗?、
    谢谢!
      

  2.   

    coollzh(良子) 的例子只能改变点击的单元格的TextBox
    的显示行数吧.
      

  3.   

    zhuohs(凌九霄):
    你有什么好的办法吗?谢谢!
      

  4.   

    在用datagrid显示过程中有的字段内容很长,需要换行显示
    我给定了datagrid的宽度800px,也给定了要换行字段对应的item宽度
    需要换行的字段设置了warp属性,但是只有当显示字段内容包含空格时候才自动换行。请问如何能在没有空格情况下也自动换行
    STYLE="word-wrap:break-word;"
      

  5.   

    working1997(haha):
    谢谢!
    我想知道在winfrom程序中DataGrid如何根据行宽自动换行
      

  6.   

    在html中设计 WordWrap=true 就可以了
      

  7.   

    对呀
    你看一下csdn的论坛就知道了,
    STYLE="word-wrap:break-word;"
      

  8.   

    看看这个
    dataSet1 = new DataSet();
    adapter.Fill(dataSet1,"sheetbbs");
    dataGridTableStyle1 = new System.Windows.Forms.DataGridTableStyle();
    DataGridTextBoxColumn dataGridTextBoxColumn1 = new DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn2 = new DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn3 = new DataGridTextBoxColumn();dataGridTableStyle1.MappingName =this.dataSet1.Tables[0].TableName ;dataGridTableStyle1.GridLineColor = Color.Blue;
    dataGridTextBoxColumn1.MappingName = "ID";
    dataGridTextBoxColumn1.HeaderText ="art id";dataGridTextBoxColumn2 .MappingName ="userID";
    dataGridTextBoxColumn2.HeaderText ="User ID";
    dataGridTextBoxColumn2.TextBox.ForeColor =Color.Green;
    dataGridTextBoxColumn2.TextBox.DoubleClick += new EventHandler(this.changeColor);
    dataGridTextBoxColumn3 .MappingName ="title";
    dataGridTextBoxColumn3.HeaderText ="Title";
    DataGridTextBoxColumn csOrderAmount = new DataGridTextBoxColumn();
    csOrderAmount.MappingName = "content";
    csOrderAmount.HeaderText ="内容";
    csOrderAmount.TextBox.WordWrap = true;DataGridColumnStyle website = new DataGridTextBoxColumn();
    website.MappingName = "website";
    website.HeaderText ="webSite";dataGridTableStyle1.GridColumnStyles.AddRange(new
    System.Windows.Forms.DataGridColumnStyle[] {
    dataGridTextBoxColumn1,
    dataGridTextBoxColumn2,
    dataGridTextBoxColumn3,
    website,
    csOrderAmount
    });
    dataGrid1.TableStyles.Add(dataGridTableStyle1);
    dataGrid1.DataSource = this.dataSet1.Tables["sheetbbs"];
      

  9.   

    关键代码:
    DataGridTextBoxColumn csOrderAmount = new DataGridTextBoxColumn();
    csOrderAmount.MappingName = "content";
    csOrderAmount.HeaderText ="内容";
    csOrderAmount.TextBox.WordWrap = true;
    当你单击那个要换行的单元格