5.31 How do I set the width of a column in my DataGrid?     To set a column width, your datagrid must be using a non-null DataGridTableStyle. Once this is in place, you can set the column width by first getting the tablestyle and then using that object to obtain a column style with which you can set the width. Here are some code snippets showing how you might do this. 
 
//.... make sure your DataGrid is using a tablestyle 
 
dataGrid1.DataSource = _dataSet.Tables["customers"]; 
 
DataGridTableStyle dgts = new DataGridTableStyle(); 
 
dgts.MappingName = "customers"; 
 
dataGrid1.TableStyles.Add(dgts); 
  
//...... 
  
//method to set a column with by colnumber 
 
public void SetColWidth(DataGridTableStyle tableStyle, int colNum, int width) 
 

 
     try 
 
     { 
 
          tableStyle.GridColumnStyles[colNum].Width = width; 
 
          tableStyle.DataGrid.Refresh(); 
 
     } 
 
     catch{} //empty catch .. do nothing 
 

  
//.... 
  
// here is how you might call this method 
  
private void button1_Click(object sender, System.EventArgs e) 
 

 
     DataGridTableStyle tableStyle = dataGrid1.TableStyles["customers"]; 
 
     SetColWidth(tableStyle, 1, 200); 
 

 

解决方案 »

  1.   

    我同意..对于大量的文本,最好用textbox
      

  2.   

    我同意..对于大量的文本,最好用textbox
    同时关注
      

  3.   

    不是这样子的!
    在web form中!如何实现?
    我的datagrid本来是定了每列的长度了如100px很好的!
    但是点了edit之后!就会被拉得很长!因为每列的输入框都很长超过100px.现在就是怎么定制edit输入框的长度。不会因为edit而把我的datagrid变形。
      

  4.   

    你在itembound里面判断一下,是textbox就修改一下width试试
      

  5.   

    http://expert.csdn.net/Expert/topic/1377/1377801.xml?temp=.7729761
    http://expert.csdn.net/Expert/topic/1454/1454844.xml?temp=.1197168
      

  6.   

    如果太长就不要在DATAGRID里直接编缉了!再做一个修改的页面,那样美观一点,但如果非要在DATAGRID里编缉,那就把TextBox的Mode改成MultiLine
      

  7.   

    lbx1979(Love Arsenal) 哈!谢谢 爱死你了