2017-06-22 5 views
0

私は最初の列にチェックボックスと最後の列にコメントのテキストボックスを持つASPXグリッドビューを持っています。チェックボックスのチェックを外すと、ユーザーにコメントを残すように要求したいと思います。GridViewの各行をチェックしてエラーが発生した場合の表示方法

もともと、私は、彼らがコメントを含めるのを忘れて、ユーザーに警告、VB側にそれぞれについて使用してメッセージをプッシュすることができると考えました。見て回ると、MsgBoxとMessageBoxはこのコンテキストでは使用できないように見えます。私が見たもう1つのオプションは、Response.Writeを使用していくつかのJavaでスクリプトを記述していましたが、動作させることができませんでした。他のユーザーは、このようなResponse.Writeを使用すると、エラーが発生した場合に問題が発生する可能性があることに言及しています。

これを行う方法はありますか?繰り返しますが、各行を確認したいのですが、チェックボックスがオフの場合は、コメントテキストボックスに何かがあることを確認してください。私は自分のVBの知識の中間ですが、これは初めてASP.netを乱用しています。どんな助けやアドバイスも大歓迎です。

+1

あなたはJavaScriptで行うだろう何かのように聞こえます。グリッドビューはブラウザのテーブルとしてレンダリングするだけで、各行をチェックするためにDOMをトラバースするのは簡単です。 – Simon

答えて

0

ユーザーにメッセージをプッシュする簡単な方法を見つけるために失敗した後、私はすでに私の更新を送信するために、フロントエンドに使用していたボタンを利用することにしました。

<asp:Button ID="ApproveList" 
    runat="server" 
    style="width:200px;" 
    Text="Approve List" 
    CausesValidation="true" 
    OnClick="UpdateSelectedRecords_Click" 
    OnClientClick="return confirm('YOUR RECORDS WILL NOT BE APPROVED UNLESS ALL UNAPPROVED RECORDS HAVE A COMMENT. Are you sure you want to approve these records?');"/> 

、ユーザーがボタンをヒットし、彼らは続行したいことを確認すると、それはVB側にUpdateSelectedRecords_Clickサブを実行します。そのサブセクションの最初の部分は、各行の条件を調べ、問題が見つかった場合は、サブを終了します。

' Verify that every unchecked row has a comment, else fail 
For Each row As GridViewRow In GridUnapprovedRecords.Rows 
    cb = CType(row.FindControl("CheckBox1"),CheckBox) 
    strComment = row.FindControl("Comment") 
    If Not cb.Checked Then 
     If strComment.Text Is Nothing Or Len(strComment.Text) = 0 Then 
      intErrors = intErrors + 1 
     End If 
    End If 
Next 

' If no unchecked boxes without comments, run updates 
If intErrors = 0 Then 
    ... 
Else 
    Exit Sub 
End If 

これ以上の選択肢があると確信していますが、これは完了です。

関連する問題