[PC] PATDATAを使った中間期限管理Webページ~担当者ごとの期限管理を表示する:その2.担当者ID表示~

PATDATAの中間期限をWebで閲覧(その2)

| 0.最終的な目標 | 1.担当者選択 |

担当者のID

前回、担当者一覧をドロップダウンリストで表示するプログラムを作成しました。そのドロップダウンリストに合わせて、担当者のIDを画面に表示させるようにします。このIDは、中間の法定期限を絞り込むために使用されます。PATDATA Button Label[ツールボックス]からButton及びLabelを追加します。それぞれIDを以下のようにします。

Button→(ID):BtnChange, Text: 変更(H), AccessKey: h
Label→(ID):LblUserID

BtnChangeのイベントにBtnChange_Clickを追加します(実際には[プロパティ]の[Click]の隣をダブルクリックすれば自動的に追加されます)。
PATDATA Change Event

GETによるデータ渡し

BtnChange_Click関数には、選択された担当者のIDをURLの引数としてつけ自分自身のページを呼び出すスクリプトを書きます。つまり、HTTP通信のGETを利用して、自分のページにデータ渡しをします。

protected void BtnChange_Click(object sender, EventArgs e)
{
    string strSearchQueryPara = @"?uid=" + DdlEngineer.SelectedValue;
    string strSearchURL = @"/" + strSearchQueryPara;

    Response.Redirect(strSearchURL);
}

データ受け

自分のページをリダイレクトで呼び出したら、ページのPage_Load関数で処理します。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string strKisa = Request.QueryString["uid"];
        if (strKisa != null)
        {
            LblUserID.Text = strKisa;
        } else
        {
            LblUserID.Text = "1";
        }
    }
}

PostBackでない場合にのみ担当者IDの処理をします。Request.QueryString[“uid”]で、指定されたデータを取得し、nullでなかったらLblUserID.Textに代入します。nullの場合、つまりデータが指定されていないときは、デフォルトとして”1″を代入します。このデフォルト値は各サイトで設定してください。

ドロップダウンリストの整合

ドロップダウンリストとの整合を図るため、ドロップダウンリストの表示を読み込んだ担当者IDと合わせておきます。
PATDATA DataBound

イベントのDataBoundにDdlEngineer_DataBound関数を割り当てます。

protected void DdlEngineer_DataBound(object sender, EventArgs e)
{
    DdlEngineer.SelectedValue = LblUserID.Text;
}

実行

F5を押して実行してみます。デフォルトでは、「1」が表示され、ドロップダウンリストで選択して、[変更]をクリックするとURLが変わり、画面も変わりました。

PATDATA LoadPATDATA Selected

まとめ

今回は、簡単な.NET Frameworkのコントロールの話だけでしたね。PATDATAとほとんど関係ありませんでした。次回は、いよいよリスト表示です。
| 0.最終的な目標 | 1.担当者選択 |

Translate »