最近,让DataGrid折腾得很郁闷,请各位大侠不吝赐教,就小弟一把!具体情况是:  
我的程序里DataGrid的DataSource是SQL的select语句生成的,可是当客户端得到解析的HTML的页面时,生成的<TABLE>的宽度是和页面呈比列的,这造成把生成的<TABLE>每一列都压缩,不能按要求显示,示例代码如下:
string sql = "select col1 字段一, col2 字段二,col3 字段三 from tab_test";
SqlDbConnection conn ;
conn.Open();
SqlDbDataAdapter myAdapter = new OleDbDataAdapter(sql,conn);
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
myView = myTable.DefaultView;
DataGrid1.DataSource = myView;
DataGrid1.Banding(); 需要在哪里加些代码,让我能控制字段一,字段二,字段三各列的宽度?
小弟在这里谢了先!

解决方案 »

  1.   

    你是不是需要这个?
    DataGrid1.Columns[0].ItemStyle.Width
      

  2.   

    mydg.Columns [0].ItemStyle .Width =20;
    mydg.Columns [1].ItemStyle .Width =150;
    mydg.Columns [2].ItemStyle .Width =150;
      

  3.   

    private void projectinfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    mydg.Columns [0].ItemStyle .Width =20;
    e.Item.Cells[2].Text = "<nobr>&nbsp"+e.Item.Cells[i].Text+"</nobr>"; }
      

  4.   

    在datagrid 中‘属性生成器' -> 格式 -> 列 ->指定宽度
    ok!