zoukankan      html  css  js  c++  java
  • 在 DataGrid 的 Footer 中添加控件


        打算在 Footer 的各列中输入字段的信息,最后一列是一个保存按钮。输入信息的列可以用  TemplateColumn 列来实现, EditCommandColumn 列的 Footer 中添加一个 ImageButton ,点击后保存信息。  

    一、静态方式添加
    <asp:TemplateColumn>有一个子标签    <FooterTemplate>,可以再此加入 TextBox 控件,并且 DataGrid 的 ShowFooter 属性显示设置为 true, 其默认值为 false 。

    <asp:TemplateColumn SortExpression="dm" HeaderText="代码">
        
    <ItemTemplate>
            
    <%# DataBinder.Eval(Container, "DataItem.dm"%>
            
    </asp:Label>
        
    </ItemTemplate>
        
    <FooterTemplate>
            
    <asp:TextBox id="txtDmAdd" runat="server" Width="70px"></asp:TextBox>
        
    </FooterTemplate>
        
    <EditItemTemplate>
            
    <%# DataBinder.Eval(Container, "DataItem.dm"%>
        
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn SortExpression="mc" HeaderText="名称">
        
    <ItemTemplate>
            
    <%# DataBinder.Eval(Container.DataItem,"mc")%>
        
    </ItemTemplate>
        
    <FooterTemplate>
            
    <asp:TextBox id="txtMcAdd" runat="server"></asp:TextBox>
        
    </FooterTemplate>
        
    <EditItemTemplate>
            
    <asp:TextBox id=txtMc runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"mc")%>'>
            
    </asp:TextBox>
        
    </EditItemTemplate>
    </asp:TemplateColumn>

    <asp:EditCommandColumn ButtonType="LinkButton" HeaderText="编辑"
        EditText
    ="编辑" UpdateText="保存"  CancelText="取消" >
    </asp:EditCommandColumn>


    二、动态方式添加保存按钮 ImageButton
    动态生成控件较静态方式灵活,它不要求列是 TemplateColumn ,只要找到 DataGrid 中的单元格,就可以在这个单元格的 Controls 集合中添加一个动态生成的控件就可以了。

    Private Sub dgdData_ItemCreated(ByVal sender As ObjectByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgdData.ItemCreated
         
    Select Case e.Item.ItemType
            
    Case ListItemType.Footer
                
    Dim SaveAddButton As ImageButton
                SaveAddButton 
    = New ImageButton
                
    With SaveAddButton
                    .ID 
    = "btnSaveAdd"
                    .ImageUrl 
    = "\iOffice\img\save.gif"
                    .ImageAlign 
    = ImageAlign.Middle
                    .Visible 
    = True
                
    End With
                e.Item.Cells(
    2).Controls.Add(SaveAddButton)
                
    AddHandler SaveAddButton.Click, AddressOf SaveAddButton_Click '动态邦定事件方法
            Case Else
        
    End Select
    End Sub

    Private Sub SaveAddButton_Click(ByVal sender As System.Object, ByVal e As System.web.UI.ImageClickEventArgs)
        
    Dim txtDmAdd As TextBox
        
    Dim txtMcAdd As TextBox
        
    Dim arrValue(2As String

        txtDmAdd 
    = sender.parent.parent.findcontrol("txtDmAdd")
        txtMcAdd 
    = sender.parent.parent.findcontrol("txtMcAdd")

        arrValue(
    0= DbConfig.SafeSql(Trim(txtDmAdd.Text))
        arrValue(
    1= DbConfig.SafeSql(Trim(txtMcAdd.Text))
        
        library.CodeAdd(arrValue) 
    'library.CodeAdd 调用添加记录的存储过程
       
    End Sub

     
  • 相关阅读:
    spring 环绕通知 ProceedingJoinPoint 执行proceed方法的作用是什么
    SpringMVC之RequestContextHolder分析
    MySQL中索引不会被用到的情况
    使用Stream快速对List进行一些操作
    Vue中this.$refs[name].resetFields();的使用
    好看的字体
    转,javascript中call()、apply()、bind()的用法终于理解
    vue中的$props
    手机端页面自适应解决方案-rem布局
    查看项目里特定npm包的版本号
  • 原文地址:https://www.cnblogs.com/feixian49/p/808888.html
Copyright © 2011-2022 走看看