将网格的日期字段设置为表单字段

问题描述 投票:0回答:1

我有一个网格和表格。在网格中我有结束日期字段。我想在选择行时设置表单的结束日期字段网格的结束日期。我可以设置文本公司名称字段。但我无法设定结束日期。我不明白为什么会这样。谢谢你。

我的表单数据如下:

            <div class="control-group">
                <label class="control-label">Başlama / Bitiş Tarihi</label>
                <div class="controls">
                    <iskurDateTimeBoxes:IskurDateBox ID="dtGirisTarih" runat="server" />
                    &nbsp;&nbsp;<iskurDateTimeBoxes:IskurDateBox ID="dtCikisTarih" runat="server" clientidmode="static"/>
                </div>
            </div>

我的脚本如下:

        function callme(e) {
           
            var tds = e.parentNode.parentNode.getElementsByTagName('td');

            document.getElementById('txtFirmaAdi').value = tds[2].innerHTML.trim();
            document.getElementById('dtCikisTarih').value = tds[7].innerHTML.trim();
           

        }

在formaspx文件中我的代码如下:

      <iskurControls:IskurGridView runat="server"
                ID="ctlGridSgkTecrube"
                AutoGenerateColumns="False"
                EmptyDataText="Tecrübe Bilginiz Bulunmamaktadır."
                EnableViewState="true"
                CssClass="table table-bordered table-condensed text-small">
                <Columns>
                    <asp:TemplateField HeaderText="Seç">
                        <ItemTemplate>
                            <asp:Button ID="btnAktar" runat="server" Text="Aktar" CommandName="AktarRow"  class = "inp" OnClientClick="return callme(this)"  />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="ISYERISICILNO" HeaderText="İşyeri Sicil No" >
                        <HeaderStyle HorizontalAlign="Left" />
                    </asp:BoundField>
                    <asp:BoundField DataField="ISYERIADI" HeaderText="İşyeri Adı" >
                        <HeaderStyle HorizontalAlign="Left" />
                    </asp:BoundField>
                    <asp:BoundField DataField="MESLEKKODU" HeaderText="Meslek Kodu">
                        <HeaderStyle HorizontalAlign="Left" />
                    </asp:BoundField>
                    <asp:BoundField DataField="MESLEK" HeaderText="Meslek">
                        <HeaderStyle HorizontalAlign="Left" />
                    </asp:BoundField>
                    <asp:BoundField DataField="SURE" HeaderText="Süre">
                        <HeaderStyle HorizontalAlign="Right" />
                    </asp:BoundField>
                    <asp:BoundField DataField="BASLANGICTARIHI" HeaderText="Baş Tar">
                        <HeaderStyle HorizontalAlign="Right" />
                    </asp:BoundField>
                    <asp:BoundField DataField="BITISTARIHI" HeaderText="Bit Tar">
                        <HeaderStyle HorizontalAlign="Right" />
                    </asp:BoundField>
                </Columns>
                <PagerStyle CssClass="grid-PagerStyle"></PagerStyle>
                <SelectedRowStyle CssClass="grid-SelectedRowStyle"></SelectedRowStyle>
                <HeaderStyle CssClass="grid-HeaderStyle"></HeaderStyle>
                <EditRowStyle CssClass="grid-EditRowStyle"></EditRowStyle>
                <AlternatingRowStyle CssClass="grid-AlternatingRowStyle"></AlternatingRowStyle>
                <FooterStyle CssClass="grid-FooterStyle"></FooterStyle>
                <RowStyle CssClass="grid-RowStyle"></RowStyle>
                <EmptyDataRowStyle CssClass="grid-EmptyRow" />
            </iskurControls:IskurGridView>
javascript asp.net webforms
1个回答
0
投票

如上所述,您可以使用这种方法从一行获取/抓取控件:

所以,说出这个标记:

    <asp:GridView ID="GVHotels" runat="server" AutoGenerateColumns="False"
        DataKeyNames="ID" CssClass="table table-hover" 
        Width="45%">
        <Columns>
            <asp:BoundField DataField="FirstName" HeaderText="FirstName" />
            <asp:BoundField DataField="LastName" HeaderText="LastName" />
            <asp:BoundField DataField="City" HeaderText="City" />
            <asp:BoundField DataField="HotelName" HeaderText="Hotel" />
            <asp:BoundField DataField="Description" HeaderText="Description" />
            <asp:BoundField DataField="BookingDate" HeaderText="Booking date" 
                 DataFormatString="{0:d}" />
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button ID="cmdEdit" runat="server" Text="Edit"
                        CssClass="btn"
                        OnClientClick="myedit(this);return false;"
                        />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

    <br />
    <h3>Hotel</h3>
    <asp:TextBox ID="txtHotel" runat="server" ClientIDMode="Static"></asp:TextBox>
    <h3>booking date</h3>
    <asp:TextBox ID="txtBdate" runat="server" ClientIDMode="Static"></asp:TextBox>



    <script>
        function myedit(btn) {
            // get cells collection, NON templated columns
            var myrow = btn.closest('tr')
            $('#txtHotel').val(myrow.cells[3].innerText)
            $('#txtBdate').val(myrow.cells[5].innerText)
        }


    </script>

要加载的代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not IsPostBack Then
        LoadGrid
    End If

End Sub

Sub LoadGrid()

    GVHotels.DataSource = MyRst("SELECT * FROM tblHotelsA
                                WHERE Active = 1 ORDER BY HotelName")
    GVHotels.DataBind()

End Sub

结果是这样的:

因此,从客户端按钮单击,我们获取/抓取该行,然后简单地设置 2 个文本框值(使用 .val())。

我当然假设上面是 jQuery。

© www.soinside.com 2019 - 2024. All rights reserved.