gridview选项卡内的动态文本框按键

时间:2009-11-16 11:51:10

标签: c# asp.net dynamic controls

我们在gridview中使用动态文本框。当在网格内的每个文本框上按下Tab键时,我们需要使用数据库中的总值和前一个文本框中的值进行一些计算,结果应显示在下一个文本框中。

此致 格塔

1 个答案:

答案 0 :(得分:1)

希望这个例子可以帮助你。在网格中,将2个文本框列设置为模板列,以便您可以定义文本框 id OnTextChanged 事件。 AutoPostBack 属性也很重要,因此当用户标签输出时,文本框会发回。在后面的代码中,您需要处理 OnTextChanged 事件,并使用 FindControl 方法获取对文本框的引用。

标记:

    <asp:GridView ID="GridView1" runat="server">
        <Columns>
            <asp:TemplateField>
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="Texbox_Changed" AutoPostBack="true" ></asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox2" runat="server" ></asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

代码背后:

Protected Sub Texbox_Changed(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim Param As String = CType(sender, TextBox).Text
    Dim Result As String = Param 'TODO: perform calculation
    CType(GridView1.Rows(GridView1.EditIndex).FindControl("TextBox2"), TextBox).Text = Result
End Sub