>

수령 한 주문과 미결 주문을 보여주는 주문 시스템이 있습니다. 주문이 접수되고 확인란이 선택된 경우 주문을 받았을 때 데이터베이스에 날짜를 추가하고 싶습니다. 분명히 확인 된 행에 날짜 만 추가하고 싶습니다. 미리 감사드립니다.

다음과 같은 관련 HTML :

                           <asp:GridView ID="gvOpenOrders" runat="server" AutoGenerateColumns="False" Width="100%" CellPadding="4" ForeColor="#333333"
                                GridLines="None" DataKeyNames="PurchaseOrderID" AllowPaging="True" AllowSorting="True"
                                OnSorting="gvOpenOrders_Sorting" EnableViewState="true" OnPageIndexChanging="OnPageIndexChanging" PageSize="15" ViewStateMode="Enabled">
                                <AlternatingRowStyle BackColor="White" />
                                <Columns>
                                    <asp:TemplateField HeaderText="Is Received" SortExpression="IsReceived">
                                        <ItemTemplate>
                                            <asp:CheckBox ID="chkRcvd" runat="server" AutoPostBack="true" Checked='<%# Bind("IsReceived") %>' Enabled='<%# Eval("IsReceived") = False %>' OnCheckedChanged="chkRcvd_CheckedChanged" />
                                        </ItemTemplate>
                                    </asp:TemplateField>

수신 업데이트 버튼을 클릭하면 현재 데이터베이스를 업데이트하고 있습니다. 아래를 참조하십시오 :

Protected Sub btnUpdateReceived_Click(sender As Object, e As EventArgs) Handles btnUpdateReceived.Click
    con.Open()
    For Each row As GridViewRow In gvOpenOrders.Rows
        Dim purchaseOrderID As Integer = Convert.ToInt32(gvOpenOrders.DataKeys(row.RowIndex).Values(0))
        Dim isReceived As Boolean = TryCast(row.FindControl("chkRcvd"), CheckBox).Checked
        cmd.CommandText = "usp_UpdatePurchaseOrder"
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.Clear()
        cmd.Parameters.AddWithValue("@OrderID", purchaseOrderID)
        cmd.Parameters.AddWithValue("@IsReceived", isReceived)
        cmd.ExecuteNonQuery()
    Next
    con.Close()
    Response.Redirect(Request.Url.AbsoluteUri)
End Sub

checkbox_CheckedChanged 이벤트가 있다는 것을 알고 있지만 사용 방법을 잘 모르겠습니다.


  • 답변 # 1

    CheckedChanged 이벤트에서이 코드를 추가 할 수 있습니다 :

    CheckBox chkSelect = (CheckBox)sender;
    if (chkSelect.Checked)
    {
       string date = DateTime.Today.ToString("dd-MM-yyyy");
    }
    
    

    희망을 VB 코드로 변환 할 수 있습니다.

  • 답변 # 2

    한 가지 수정만으로 솔루션을 찾을 수 있다고 생각합니다. 이것을 시도하십시오 :

    string strDate=stirng.Empty;
    foreach (GridViewRow rw in grid1.Rows)
          {
              CheckBox chkBx = (CheckBox)rw.FindControl("Check");
              if (chkBx != null && chkBx.Checked)
              {              
                  strDate = ((Label)rw.FindControl("lblDate")).Text; 
             }
          }
    
    

  • 답변 # 3

    protected void chkRcvd_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chkSelect = (CheckBox)sender;
        if (chkSelect.Checked)
        {
            string date = DateTime.Today.ToString("dd-MM-yyyy");
        }
    }
    
    

관련 자료

  • 이전 R의 시뮬레이션 게임 기능
  • 다음 android - 특수 문자가있는 macOS 응용 프로그램의 ADB 명령