具体情况如标题:(如果有其他控制列宽的方法请不吝赐教!)具体情况如标题:(如果有其他控制列宽的方法请不吝赐教!)DataGridTableStyle myTableStyle = new DataGridTableStyle();
myTableStyle.MappingName = "随便临时表名";DataGridColumnStyle col1 = new DataGridTextBoxColumn();
col1.MappingName = "病害名称";
col1.HeaderText = "病害名称";
col1.Width = this.dataGrid1.Width / 2;DataGridColumnStyle col2 = new DataGridTextBoxColumn();
col2.MappingName = "病害ID";
col2.HeaderText = "病害ID";
col2.Width = this.dataGrid1.Width / 4;DataGridColumnStyle col3 = new DataGridTextBoxColumn();
col3.MappingName = "相似度";
col3.HeaderText = "相似度";
col3.Width = this.dataGrid1.Width / 4;myTableStyle.GridColumnStyles.Add(col1);
myTableStyle.GridColumnStyles.Add(col2);
myTableStyle.GridColumnStyles.Add(col3);
this.dataGrid1.TableStyles.Clear();
this.dataGrid1.TableStyles[0].MappingName = "病害诊断结果";
this.dataGrid1.TableStyles.Add(myTableStyle);然后this.dataGrid1.DataSource绑定数据源以上语句追踪过,全都有执行过,但是现实的结果却还是默认的状态!
各位大大有空看看或者帮我想想可能的错误在哪里?
先O(∩_∩)O谢谢了!

解决方案 »

  1.   

    //声明DataGridTableStyle 
    DataGridTableStyle myTableStyle = new DataGridTableStyle( ); 
    danweiTableStyle.MappingName = "Customers"; //声明DataGridColumnStyle 
    DataGridColumnStyle bianhaoStyle = new DataGridTextBoxColumn( ); 
    bianhaoStyle.MappingName = "Bianhao"; 
    bianhaoStyle.HeaderText = "编号"; 
    bianhaoStyle.Width = 31; //添加列格式和表格式 
    myTableStyle.GridColumnStyles.Add( bianhaoStyle ); 
    myDataGrid.TableStyles.Add( myTableStyle ); 
      

  2.   

    哥们,我用的是WINCE,不是WEB,用WEB我的话我还不如用DATAGRIDVIEW呢!
      

  3.   

    还是要靠自己,linlusheng谢谢,你的方法可以用!
    但是要注意MappingName 属性,如果是要绑定数据源,MappingName 属性的值一定要和表对应!
    因为是映射啊!
      

  4.   

                    ds= new DataSet();
                    ds.ReadXml("\\storage card\\health_knowledge.xml");//读取健康知识xml文件,
                    DataTable newTables = ds.Tables[0].Copy();
                    newTables.Columns.Remove("solution");//删除solution列
                    newTables.Columns.Remove("others");//删除others列
                    
                    
                    DataGridTableStyle ts = new DataGridTableStyle();
                    ts.MappingName = "newTables";                DataGridColumnStyle idStyle = new DataGridTextBoxColumn();
                    idStyle = new DataGridTextBoxColumn();
                    idStyle.MappingName = "id";
                    idStyle.HeaderText = "id";
                    idStyle.Width = this.Width/4;
                    ts.GridColumnStyles.Add(idStyle);                DataGridColumnStyle problemStyle = new DataGridTextBoxColumn();
                    problemStyle = new DataGridTextBoxColumn();
                    problemStyle.MappingName = "problem";
                    problemStyle.HeaderText = "problem";
                    problemStyle.Width = this.Width/2;
                    ts.GridColumnStyles.Add(problemStyle);
                    dataGrid1.TableStyles.Add(ts);
                    dataGrid1.DataSource = newTables;
                  为什么我这样子还是不行呢宽度依然不变。
      

  5.   

    idStyle.Width = this.Width/4;
    problemStyle.Width = this.Width/2;这两句应该是
    idStyle.Width = 10;
    problemStyle.Width = 100;刚才乱修改,贴上来的时候没注意,宽度分别是10和100,但是显示的时候依然不变。为什么呢