哈哈,也可以吧,好像,用e.item试试

解决方案 »

  1.   

    你应该会在Footer上放一个用于提交的Button的.你定义这个Button的CommandName="Add".
    然后在DataGrid的ItemCommand里判断CommandName, 如果是"Add", 那么e.Item就是Footer了, 就可以用e.Item.FindControl().
      

  2.   

    在Footer上放一个用于提交的Button?这方法好象可行,试试先!
      

  3.   

    当然, 你也可以用循环找出Footer
    foreach (DataGridItem gridItem in DataGrid.Controls[0].Controls)
    {
      if (gridItem.ItemType == ListItemType.Footer)
      {
      }
    }
      

  4.   

    加不了啊!兄弟!能不能说详细点儿?
    <FooterStyle ForeColor="#FF0099" BackColor="#009999">
    这里吗?出错哦!
    </FooterStyle>
      

  5.   

    http://community.csdn.net/Expert/topic/3134/3134358.xml?temp=.5690424帮忙看看!大哥们!急得很!
      

  6.   

    <asp:datagrid id="dtgrid" style="Z-INDEX: 101; LEFT: 18px; POSITION: absolute; TOP: 187px" runat="server" Width="1004px" Height="24px" BorderStyle="None" BorderColor="#3366CC" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False">
    <SelectedItemStyle Wrap="False" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
    <EditItemStyle Wrap="False"></EditItemStyle>
    <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
    <FooterStyle ForeColor="#FF0099" BackColor="#009999"></FooterStyle>
    <Columns>
    <asp:ButtonColumn Text="選擇" CommandName="Select" HeaderText="選擇" HeaderStyle-Width="40px">
    <ItemStyle Width="40px"></ItemStyle>
    </asp:ButtonColumn>
    <asp:TemplateColumn HeaderText="料品編號" HeaderStyle-Width="100px">
    <ItemTemplate>
    <asp:Button CommandName="Add" OnCommand="dtgrid_AddData"></asp:Button>
    <asp:Label Width="100px" Runat="server" ID="lblItemCode" Text='<%#DataBinder.Eval(Container.DataItem,"ItemCode")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="100px" ID="footerItemCode"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="100px" Runat=server ID="txtItemCode" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"ItemCode")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="品名" HeaderStyle-Width="300px">
    <ItemTemplate>
    <asp:Label Width="300px" Runat="server" ID="lblItemName" Text='<%#DataBinder.Eval(Container.DataItem,"ItemName")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="300px" ID="footerItemName"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="300px" Runat=server ID="txtItemName" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"ItemName")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="規格" HeaderStyle-Width="300px">
    <ItemTemplate>
    <asp:Label Width="300px" Runat="server" ID="lblItemSpecs" Text='<%#DataBinder.Eval(Container.DataItem,"ItemSpecs")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="300px" ID="footerItemSpecs"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="300px" Runat=server ID="txtItemSpecs" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"ItemSpecs")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="數量" HeaderStyle-Width="50px">
    <ItemTemplate>
    <asp:Label Width="50px" Runat="server" ID="lblQty" Text='<%#DataBinder.Eval(Container.DataItem,"Qty")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="50px" ID="footerQty"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="50px" Runat=server ID="txtQty" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"Qty")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="單位" HeaderStyle-Width="50px">
    <ItemTemplate>
    <asp:Label Width="50px" Runat="server" ID="lblUnit" Text='<%#DataBinder.Eval(Container.DataItem,"Unit")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="50px" ID="footerUnit"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="50px" Runat=server ID="txtUnit" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"Unit")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="備注" HeaderStyle-Width="80px">
    <ItemTemplate>
    <asp:Label Width="80px" Runat="server" ID="lblRe" Text='<%#DataBinder.Eval(Container.DataItem,"Re")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="80px" ID="footerRe"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="100px" Runat=server ID="txtRe" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"Re")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn Visible="False" HeaderText="轉換率">
    <ItemTemplate>
    <asp:Label Width="50px" Runat="server" ID="lblRate" Text='<%#DataBinder.Eval(Container.DataItem,"Rate")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="50px" ID="footerRate"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="50px" Runat=server ID="txtRate" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"Rate")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn Visible="False" HeaderText="轉換數量">
    <ItemTemplate>
    <asp:Label Width="50px" Runat="server" ID="lblChangeQty" Text='<%#DataBinder.Eval(Container.DataItem,"ChangeQty")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="50px" ID="footerChangeQty"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="50px" Runat=server ID="txtChangeQty" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"ChangeQty")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn Visible="False" HeaderText="庫存單位">
    <ItemTemplate>
    <asp:Label Width="50px" Runat="server" ID="lblStoreUnit" Text='<%#DataBinder.Eval(Container.DataItem,"ChangeUnit")%>'>
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" Width="50px" ID="footerStoreUnit"></asp:TextBox>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:TextBox Width="50px" Runat=server ID="txtStoreUnit" Font-Bold="False" Text='<%#DataBinder.Eval(Container.DataItem,"ChangeUnit")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
      

  7.   

    1. 没有把ShowFooter设为True.
    2. 没有看到在某个FooterTemplate里有Button
      

  8.   

    <asp:TemplateColumn HeaderText="高度">
    <ItemTemplate>
    <asp:Label Runat=server text='<%# DataBinder.Eval(Container, "DataItem.CapHight")%>' ID="Label5">
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox Runat="server" ID="CapHight_footer" size="6" MaxLength="10" CssClass="NobgUinput1" onblur="check_num(this)">0</asp:TextBox>
    </FooterTemplate>
    </asp:TemplateColumn>
    在cs文件中:
    TextBox tempBox;
    tempBox = ((TextBox)e.Item.FindControl("CapHight_footer"));
    就可以找到了。
      

  9.   

    private void Datagrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Header)
    {
    e.Item.Cells[0].Text = "儿童编号";
    e.Item.Cells[1].Text = "儿童姓名";
    e.Item.Cells[2].Text = "儿童年龄";
    }
                    }
      

  10.   

    private void Datagrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.footer)
    {
    e.Item.Cells[0].Text = "儿童编号";
    e.Item.Cells[1].Text = "儿童姓名";
    e.Item.Cells[2].Text = "儿童年龄";
    }
                    }
      

  11.   

    多谢各位兄弟帮忙!终于解决!
    其实:dtgrid.Controls[0].Controls[0]就是header
    int i=dtgrid.Controls[0].Controls.Count-1;
    则:dtgrid.Controls[0].Controls[i-1]就是footer
    再次感谢楼上的各位兄弟!
    结贴!
      

  12.   

    不好意思!上面有笔误
    dtgrid.Controls[0].Controls[0]就是header
    int i=dtgrid.Controls[0].Controls.Count-1;
    则:dtgrid.Controls[0].Controls[i]就是footer