0

画像列とRadNumericTextBox列を持つRadGridがあります。これが私のマークアップです:

<Columns>
    <telerik:GridTemplateColumn>
        <ItemTemplate>
            <asp:Image ID="imgStatus" runat="server" ImageUrl="~/Content/Images/cross.png" />
        </ItemTemplate>
    </telerik:GridTemplateColumn>
    <telerik:GridBoundColumn DataField="ID" DataType="System.Int64" FilterControlAltText="Filter ID column" HeaderText="ID" ReadOnly="True" SortExpression="ID" UniqueName="ID">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="PalletNumber" FilterControlAltText="Filter PalletNumber column" HeaderText="PalletNumber" SortExpression="PalletNumber" UniqueName="PalletNumber">
        </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="Available" DataType="System.Int32" FilterControlAltText="Filter Available column" HeaderText="Available" ReadOnly="True" SortExpression="Available" UniqueName="Available">
    </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Quantity" DataType="System.Int32" FilterControlAltText="Filter Quantity column" HeaderText="Quantity Allocated" ReadOnly="True" SortExpression="Quantity" UniqueName="Quantity">
    </telerik:GridBoundColumn>
    <telerik:GridTemplateColumn HeaderText="Booked Off">
        <ItemTemplate>
            <telerik:RadNumericTextBox ID="nmBookedOff" runat="server" MaxValue='<%# Convert.ToDouble(Eval("Quantity")) %>' MinValue="0" ShowSpinButtons="true" Type="Number" NumberFormat-DecimalDigits="0" ClientEvents-OnValueChanged='valueChanged'></telerik:RadNumericTextBox>
        </ItemTemplate>
    </telerik:GridTemplateColumn>
</Columns>

したがって、ユーザーは予約された数量を変更する各行を調べます。数値列に値がある場合、画像列は「tick.png」に変更されるという考え方です。RadNumericTextBoxでわかるように、クライアントイベントハンドラーを接続しましたが、そこから行オブジェクトを取得するにはどうすればよいですか?イベントの送信者のget.parent()は、GridTableViewを提供します。

4

1 に答える 1

0

以下のコード スニペットを試してみてください。

JS

<script type="text/javascript">
        function valueChanged(sender, args) {
            if (args.get_newValue() > 0) {
                $("#" + sender.get_id().replace("nmBookedOff", "imgStatus")).get(0).src = "http://gradly.net/wp-content/uploads/2011/04/20110424_lion_appstore_icon.png";
            }
            else {
                $("#" + sender.get_id().replace("nmBookedOff", "imgStatus")).get(0).src = "http://promote.opera.com/logos/Opera-icon-high-res.png";
            }
        }
    </script>

ASPX

<MasterTableView CommandItemDisplay="Top" EditMode="InPlace">
            <Columns>
                <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name">
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn>
                    <ItemTemplate>
                        <asp:Image ID="imgStatus" runat="server" ImageUrl="http://promote.opera.com/logos/Opera-icon-high-res.png"
                            Height="20px" Width="20px" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="Booked Off">
                    <ItemTemplate>
                        <telerik:RadNumericTextBox ID="nmBookedOff" runat="server" MinValue="0" ShowSpinButtons="true"
                            Type="Number" NumberFormat-DecimalDigits="0" ClientEvents-OnValueChanged='valueChanged'>
                        </telerik:RadNumericTextBox>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridEditCommandColumn>
                </telerik:GridEditCommandColumn>
            </Columns>
        </MasterTableView>

詳細については。以下のリンクを確認してください。 http://jayeshgoyani.blogspot.in/2012/07/access-another-control-which-was-in.html

于 2012-12-25T08:01:08.667 に答える