0

私はこれをマークアップに持っています:

 <asp:TemplateField HeaderText="Date Printed">
   <ItemTemplate>
    <asp:Label ID="lblMessage" style ="font-weight:bold; " runat="server" CssClass="style26"></asp:Label>
   </ItemTemplate> 
  </asp:TemplateField>

次に、このコードの背後にあります

For Each r As GridViewRow In gridView1.Rows
 If CType(r.Cells(0).FindControl("myrec"), CheckBox).Checked Then
   lblMessaget.Text = DateTime.Now.ToString("dd/MM/yyyy")
 End If
 Next

私が本当にやろうとしているのは、ユーザーがチェックボックスをクリックしてチェックボックスをオンにし、[チェック項目の印刷]ボックスをクリックするたびに、今日の日付がチェックボックスの行の[印刷日]列に挿入されることです。

私は愚かなことをしているので、これは機能していません。

どんな助けでも大歓迎です。

私はvb.netまたはc#でこれを実行しようとしていますが、誰かがJavaScriptでそれを実行するのを手伝ってくれるなら、それも素晴らしいことです。

   <script type="text/javascript">
        function CheckBox_Click() {
            $('#' + '<%=gridView1.ClientID %>' + ' tr:has(:checkbox:checked)  td:nth-child(3) span').each(function () {
                $(this).attr("innerHTML", new Date());
            });

        }

</script>
4

1 に答える 1

0

適切なラベルがあることを確認する必要があると思います。 lblMessaget常に割り当てられますが、あなたは言います:

...日付は、チェックボックスの行の印刷日列に挿入されます。

したがって、次も必要です。

CType(r.Cells(0).FindControl("row-specific-label"), Label).Text = DateTime.Now.ToString( "dd.MM.yyyy" );

// 編集:

セルに正しいインデックスを使用していることを確認する必要があります。これが何であれ、ラベルのセルが必要です。

于 2012-08-26T02:22:32.840 に答える