vagabond的小站

我菜故我存在!!

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  13 随笔 :: 3 文章 :: 12 评论 :: 0 引用
在做winform的程序时,经常遇到不能调节DataGrid列宽的情况,查了不少资料后,写了个函数。希望大家能多多提出改进的意见。谢谢。
public static DataGridTableStyle SetGrid(DataTable Table,string[] WidthArr,string[] HeadText,string[] MapName)
        
{
            
if(Table.Columns.Count == WidthArr.Length || Table.Columns.Count == HeadText.Length || Table.Columns.Count == MapName.Length)
            
{
                DataGridTableStyle GridStyle 
= new DataGridTableStyle();
                GridStyle.MappingName 
= Table.TableName;  
                
for(int i=0;i<Table.Columns.Count;i++)
                
{
                    DataGridTextBoxColumn CStyle 
= new DataGridTextBoxColumn();
                    CStyle.HeaderText 
= HeadText[i];
                    CStyle.MappingName 
= MapName[i];
                    CStyle.Width 
= Convert.ToInt32(WidthArr[i]);
                    
if(Convert.ToInt32(WidthArr[i]) <= 30)
                    
{
                        CStyle.Alignment 
= System.Windows.Forms.HorizontalAlignment.Center;
                    }

                    
else
                    
{
                        CStyle.Alignment 
= System.Windows.Forms.HorizontalAlignment.Center;
                    }
                    
                    GridStyle.GridColumnStyles.Add(CStyle);
                }
                
                
return GridStyle;
            }

            
else
            
{
                
return null;
            }

        }
    用法:
    this.libData.DataSource = Table;   
   string[] WidthArr = {"20","80","100","100","0"};
   string[] HeadArr  = {"","PK","ZD","KD","ID"};
   string[] MapArr   = {"ID","PK","ZD","KD","OID"};
   DataGridTableStyle st1 = GridStyle.SetGrid(Table,WidthArr,HeadArr,MapArr);
posted on 2006-09-28 01:02 vagabond VS net 阅读(108) 评论(0) 编辑 收藏