2016-12-13 7 views
-1
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="False" AutoGenerateEditButton="true"> 
    <Columns> 

     <asp:BoundField DataField="Job" HeaderText="Job" SortExpression="Job" /> 
     <asp:BoundField DataField="Job_Operation" HeaderText="Job_Operation" SortExpression="Job_Operation" /> 

     <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" /> 

     <asp:CommandField ShowEditButton="True" /> 

    </Columns> 

</asp:GridView> 

選択コマンドには、以下の行を返します。条件updateコマンド

Job Job_Operation Status 

5294 56250 C 11/29/2016 Edit 

5294 56251 O 12/9/2016 Edit 


      SelectCommand="SELECT [Job],[Job_Operation],[Status], FROM [Job_Operation] WHERE ([Job] = @JobNum)" 


      UpdateCommand="UPDATE Job_Operation set status = @Status where (Job = @Job) and (Job_Operation = @Job_Operation) UPDATE Job_Operation where (Job = @Job) and (Job_Operation = @Job_Operation) 

      <SelectParameters> 
       <asp:FormParameter FormField="JobNum" Name="JobNum" /> 
      </SelectParameters> 
     </asp:SqlDataSource> 

私は、ユーザーがステータスを変更しようとすると実行しているからupdateコマンドを防ぐ条件を追加したいと思います次の操作のいずれかが「C」である場合、任意の行の「O」から「C」へのフィールド

たぶんこれは、C#でプログラムされている「C」

の値が「状態」フィールドを探して、現在の選択よりも大きいjob_operations探し配列とループに選択結果を取る

+0

statusとupdateコマンドの後にもう1つの昏睡があり、updateコマンドが意味をなさない場合、Jqueryを使用してアラートを作成しました。 – mybirthname

答えて

0

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js" type="text/javascript"></script> 
<script> 
    $(function() { 
     $("a").click(function() { 
      var row = $(this).closest('tr'); 
      var index = row.index(); 
      //this could find the prev value 
      var prev = row.prev().find("td:eq(3) span").html(); 
      if (index == 1) { 
       return true; 
      } else { 
       if (prev.trim() != "C") { 
        alert("The previous operation is NOT COMPLETE"); 
        return false 
       } else { 
        return true; 
       } 
      } 
     }); 
    }); 
</script> 
+0

*訂正前の行であれば、次の行ではありません。 – user3605629