情報あたためますか

Windows系 開発VisualBasic(VB) ASP FF14遊

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ASPのポストバック。便利だがそれが面倒な時。動的に追加したコントロールに
対してのイベント。以外に面倒だよママン。

※画面にあるチェックボックスをIDで抽出し全部選択状態にするとか。


       <script type='text/javascript'>
           //チェックボックスのチェック切り替え(対象チェックボックスID)
               function ChkBoxSelChange(TargetFName) {

               ct_I = 1
               ChkObj = document.getElementById(TargetFName + ct_I + "_" + 0);
               while (ChkObj != null ) {
                   if (ChkObj.isDisabled == false) {
                       ChkObj.checked = true;
                   }
                   ct_I++ ;
                   ChkObj = document.getElementById(TargetFName + ct_I + "_" + 0);
               }
               }
       </script>

そしてさらにこれら。
※チェックボックスが複数あり、最低ひとつはチェックされている必要があるとか。
(1)必須チェックには、RequiredFieldValidatorを使う。
(2)RequiredFieldValidatorはダミーのTextBoxにあてる。
(3)JavaScriptでチェックボックスチェック時に、ダミーのTextBoxに文字列を入れる。
(4)ダミーのTextBoxはスタイルシート等で隠す!

JavaScript
//チェックボックス必須チェック(Validateバージョン)
function ChkBoxSelCheckValidate(TargetFName, TargetTxt) {
   s = "";
   chk = false;

   ct_I = 1
   ChkObj = document.getElementById(TargetFName + ct_I + "_" + 0);
   while (ChkObj != null ) {
       if (ChkObj.checked == true) {
           chk = true;
           break;
       }
       ct_I++ ;
       ChkObj = document.getElementById(TargetFName + ct_I + "_" + 0);
   }

   if (chk) {
       document.getElementById(TargetTxt).value = "checked";
   } else {
       document.getElementById(TargetTxt).value = "";
   }
}

ASP.NETソースでチェックボックスにイベント追加
wChkBox.Attributes("onclick") = "ChkBoxSelCheckValidate('" & CON_チェックID & "','" & Me.Hidチェック.ID & "')"

なんかあんまりスマートじゃないなぁ。。。

スポンサーサイト

ASPボタンをTableオブジェクトに動的追加とか

ASP.NET開発でよくある必要作業。

例えばボタンオブジェクトをTableオブジェクトに動的追加とか
DBから読み込みし、テーブルオブジェクトに展開するついでに
作成すればテーブルにボタンオブジェクトを動的に作成できる。

IDも動的に生成してるんだけど、ボタンをクリックすると
ポストバックの関係でうまくいかないことも多い。
もう一度再生成しないとクリックイベントで拾えないとか
どうだろ、これ。

ボタンにイベントを関連付けることも忘れがち。

他のページに飛ぶならハイパーリンクの方が適してる気がするよ。

基本的に下記のサンプルなら、オブジェクトの宣言部を
ハイパーリンク、チェックボックス、テキストボックスなど
色々応用できるので覚えておいて損はない。

For rowCtr = 1 To rowCnt
  Dim tRow As New TableRow()
  For cellCtr = 1 To cellCnt
    Dim tCell As New TableCell()

    'IDを作成
    Dim ObjID As String
    ObjID = rowCtr & "_" & cellCtr

    'Buttonコントロールを作成
    Dim wBtn As New Button
    wBtn.ID = rowCtr & "_" & cellCtr
    'イベントを追加
    AddHandler wBtn.Click, AddressOf Button_Click

    'セルに追加
    tCell.Controls.Add(wBtn)
    '行に新しいセルを追加
    tRow.Cells.Add(tCell)
  Next cellCtr
  'テーブルに新しい行を追加
  Table1.Rows.Add(tRow)
Next rowCtr

 | HOME | 

開発したツール

FFXIV Tool

連絡フォーム

Linkはご自由にm(_ _)m
連絡頂けると喜びます。
お名前:

メール:

件名:
本文:

リンク

検索フォーム

QRコード

QR

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。