如何gridview中动态创建表头?
一个页面中只有一个gridview,现需要根据不同按钮选择不同的数据表,将数据显示在gridview中,有什么方法可以动态创建表头,和取得想要字段的值吗?
------解决方案-------------------- <HeaderTemplate>  
  <%=headico%>  
  </HeaderTemplate>    
  <ItemTemplate>  
  <%# ((DataRowView)Container.DataItem)[ "pic "] %>  
  </ItemTemplate>  
 这样绑定不可以吗
------解决方案--------------------不同表绑定字段也会不一样的……   
 最好不要这样用   
 所有的都是动态的,不如直接自己生成HTML代码好了   
 GV出来也是个TABLE而已
------解决方案--------------------需要根据不同按钮选择不同的数据表   
 全部显示的话还要什么动态显示?直接在按纽事件里重新绑定数据源不就完了?
------解决方案--------------------这就要递归查询表头的内容,你可以从网上找找RealWord 的GridView列子,那就是个动态创建表头的控件,很不错
------解决方案--------------------select username as 用户名 from 表名 
 这是动态显示girdview每一列列名的sql语句
------解决方案--------------------void ColSpan()//合并列单元格 
   { 
    for(int i=0;i <prevDg.Items.Count;i++) 
    { 
     if (prevDg.Items[i].Cells[3].Text.Trim()== "0 " && prevDg.Items[i].Cells[4].Text.Trim()== "0 " ) 
     { 
      prevDg.Items[i].Cells[2].ColumnSpan=3; 
      prevDg.Items[i].Cells[3].Visible=false; 
      prevDg.Items[i].Cells[4].Visible=false; 
     } 
    } 
   } 
   void RowSpan()//合并行单元格 
   { 
    int j; 
    int n; 
    for(int i=0;i <prevDg.Items.Count;i++) 
    { 
     n=1; 
     for (j=i+1;j <prevDg.Items.Count;j++) 
     { 
      if(prevDg.Items[i].Cells[0].Text.Trim()==prevDg.Items[j].Cells[0].Text.Trim() && prevDg.Items[i].Cells[7].Text.Trim()==prevDg.Items[j].Cells[7].Text.Trim()) 
      { 
       n += 1;  
       prevDg.Items[i].Cells[0].RowSpan=n; 
       prevDg.Items[j].Cells[0].Visible=false; 
      } 
      else break; 
     } 
     i=j-1; 
    }                
   }
------解决方案--------------------老孟有个例子,去他blog上看看
------解决方案--------------------可以动态生成gridview,根据你的结果集动态增加列