簡體   English   中英

OnRowEditing編輯文本框焦點

[英]OnRowEditing Edit Textbox Focus

我想做的是,在發生GridView_OnRowEditing事件時,我想集中精力查看正在編輯的單元格中出現的文本框。 從那里,我將觸發一個javascript鍵盤,但是在執行任何操作之前,我需要首先關注文本框。

這是我當前的代碼:

protected void GridView_OnRowEditing(object sender, GridViewEditEventArgs e)
    {
        var row = GridView.Rows[e.NewEditIndex];
        var gridText = (TextBox) row.Cells[5].Controls[0];
        gridText.Focus();
    }

編輯:

這是我的GridView標記。 我不是手動設置文本框。 無論如何,如果要檢索在RowEditing事件上轉換為文本框的單元格的ID,請告訴我。 謝謝。

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="True" DataKeyNames="RollNumber" DataSourceID="WoSource" HorizontalAlign="Center" 
        OnRowUpdating="GridView1_RowUpdating" AllowSorting="true" Visible="True" OnRowDataBound="GridView1_RowDataBound" OnRowEditing="GridView1_OnRowEditing" OnRowCancelingEdit="GridView1_OnRowCancelingEdit" Width="100%">
        <Columns>
            <asp:BoundField DataField="WorkOrderNo" HeaderText="WorkOrderNo" ReadOnly="True" SortExpression="WorkOrderNo" Visible="False"/>
            <asp:BoundField DataField="RollNumber" HeaderText="RollNumber" ReadOnly="True" SortExpression="RollNumber" />
            <asp:BoundField DataField="ModelNumber" HeaderText="ModelNumber" ReadOnly="True" SortExpression="ModelNumber" />
            <asp:BoundField DataField="QtyGood" HeaderText="QtyGood" ReadOnly="True" SortExpression="QtyGood" />
            <asp:BoundField DataField="QtyRun" HeaderText="QtyRun" SortExpression="QtyRun"><ControlStyle Width="100%" Height="100%" Font-Size="36px"></ControlStyle></asp:BoundField>
        </Columns>
    </asp:GridView>

在@okisinch的幫助下,我發現我可以這樣做:

        $('#<%=GridView1.ClientID%> :input:enabled:visible:first').focus();
        $('#<%=GridView1.ClientID%> :input:enabled:visible:first').select();

這樣做的好處是,我不需要查找文本框ID即可進行對焦。

鏈接是對我有所幫助的資源。

編輯:發現此代碼也可以。 請注意,#insideContainer是已實現的jquery鍵盤。 我想我會添加我所做的觸發。

    $(function () {
        if ($('#<%=GridView1.ClientID%> :input:enabled:visible:first').val()) {
            $('#<%=GridView1.ClientID%> :input:enabled:visible:first').focus();
            $('#<%=GridView1.ClientID%> :input:enabled:visible:first').select();
            $('#insideContainer').show();
        } else {
            $('#insideContainer').hide();
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM