datagrid加入属性:OnItemCreated="ItemCreated"
通过ItemCreated重创建页脚!
public void ItemCreated(object sender,DataGridItemEventArgs e)
{
ListItemType li=e.Item.ItemType;
if(li==ListItemType.Footer)
{
重构页脚
}
}

解决方案 »

  1.   

    关键是怎么重构页脚?
    datagrid加入属性:OnItemCreated="ItemCreated"
    通过ItemCreated重创建页脚!
    这些我知道!
      

  2.   

    public void ItemCreated(object sender,DataGridItemEventArgs e)
    {
    ListItemType li=e.Item.ItemType;
    if(li==ListItemType.Footer)
    {
    TableCellCollection tc=e.Item.Cells;
    int n=tc.Count;
    for(int i=0;i<n-1;i++)
    e.Item.Cells.RemoveAt(1);
    TabelCell c=e.Item.Cells[0];
    c.ColumnSpan=n;
    c.Text="aaaaaaaaaaaaa";
    }
    }
      

  3.   


    Adding a Totals Field in a DataGrid 
    http://www.dotnetjunkies.com/Article/2F527E21-A6C5-497A-8B56-4150BDAF711D.dcik
      

  4.   

    用页脚做合计private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    for(int k=1;k<7;k++)
    {
    string ss=e.Item.Cells[k].Text;
    if(ss!=""&&ss!="&nbsp;")
    Hjs[k-1]+=Convert.ToDecimal(ss);
    }
    }
    if(e.Item.ItemType==ListItemType.Footer)
    {
    for(int k=1;k<7;k++)
    {
    Label Label=new Label();
    Label.ID="Label"+k.ToString();
    Label.Text=Hjs[k-1].ToString();
    e.Item.Cells[k].Controls.Add(Label);
    }
    }
    }
      

  5.   

    protected static decimal[] Hjs={0,0,0,0,0,0};private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Hjs[0]=0;
    Hjs[1]=0;
    Hjs[2]=0;
    Hjs[3]=0;
    Hjs[4]=0;
    Hjs[5]=0;
    }
      

  6.   

    因为这几个语句把所有得内容都清掉了,当然没有了呀
    Table tb1 = new Table();
     tb1 = (Table)DataGrid1.Controls[0];
     tb1.Rows.Clear();
     tb1.Rows.AddAt(0,dgi2);
     tb1.Rows.AddAt(1,dgi3);
      

  7.   

    benbenyi(冬日彩虹) 说的对!Table tb1 = new Table();
    tb1 = (Table)DataGrid1.Controls[0];
    //tb1.Rows.Clear();  去掉
    tb1.Rows.AddAt(7,dgi2); // 你页面倒数第二行
    tb1.Rows.AddAt(8,dgi3); // 你页面倒数第一行
    也就是说你新建完二行要查到table的第几行
      

  8.   

    我帮你写了个例子,你可以按照这个思路,实现你的功能,试试吧:)
    在ItemDataBound事件中
    ListItemType elemType=e.Item.ItemType;
    if(elemType==ListItemType.Footer)
    {
    e.Item.Cells[0].Text="大写金额:五元";
    e.Item.Cells[0].ColumnSpan=e.Item.Cells.Count;for(int i=e.Item.Cells.Count-1; i>0; i--)
    { e.Item.Cells.RemoveAt(i); }}