我用button点击来让datagrid的footer 显示,footer 中有个textbox,我需要里面有缺省的值,不知道这个过程怎么实验,尝试了在dataitembound等事件里做,可是用findcontrol没法找到footer 里的textbox阿。郁闷。各位用过的指导一下,先谢!

解决方案 »

  1.   

    判断拉,就是ListItemType 为 footer,也找不到呢
      

  2.   

    是不是用e.Item.FindControl("textbox")?
      

  3.   

    dataitembound里找不到的
    寫個函數,在綁定的時候call,才可以
      

  4.   

    是不是原来没有footer,后来点击按纽就显示呀?
      

  5.   

    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
            If e.Item.ItemType = ListItemType.Footer Then
                Dim s As String = CType(e.Item.FindControl("ID"), TextBox).Text
            End If
        End Sub
      

  6.   

    哈哈,不是等于FOOTER,而是等于PAGER
      

  7.   

    To 追风小蛇:是本来没有,点击按钮后显示footer
      

  8.   

    TO wangwei27932987(冥) :呵呵,现在就是不知道怎么写代码阿:)我还想过直接在aspx的网页里榜定,用了 text = <%# DataTime.Now %>,结果不清楚怎么在叶面上引用那些类了:(
      

  9.   

    我試過這樣可以
    <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" ShowFooter="True">
       <Columns>
          <asp:TemplateColumn HeaderText="a">
             <ItemTemplate>
                <%# Container.DataItem("a") %>
             </ItemTemplate>
             <FooterTemplate>
                <asp:TextBox id="time" runat="server"></asp:TextBox>
             </FooterTemplate>
          </asp:TemplateColumn>
       </Columns>
    </asp:DataGrid>
    <asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            DataGrid1.ShowFooter = True
            Dim table As New DataTable
            DataGrid1.DataSource = table
            DataGrid1.DataBind()
        End Sub    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
            If e.Item.ItemType = ListItemType.Footer Then
                Dim t As TextBox
                t = e.Item.Cells(0).FindControl("time")
                t.Text = DateTime.Now
            End If
        End Sub直接在aspx的网页里榜定 可以用
    <FooterTemplate>
    <input type=text id="time" name="time" value='<%=datetime.now%>'>
    </FooterTemplate>
    但是不能有runat="server"