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 回答