0

テーブルから入力されたasp.netにグリッドがあります(実際には結合)、

EMPLOYEENAMEcolumn (従業員の名前を示す)という名前の列と、 EMPLOYEEID (従業員の ID を示す) という名前の別の列があります。

これら 2 つの列は関連しています。つまり、従業員 'Tom' の従業員 ID は常に '21' です。

現在、ドロップダウンリストを使用して従業員名の列を編集していますが、

編集された従業員名に適切な従業員 ID を自動的に変更するコードが必要です

つまり、従業員名を「TOM」に選択した場合、対応する従業員は自動的に「21」に変更されます

4

3 に答える 3

1

ドロップダウンリストを使用して従業員名を変更しているため。そのため、そのドロップダウン リストに autopostback=true を設定し、イベントを onSelectedIndexChanged にすることで、これを行うことができます。

コード ページで、ドロップダウンの選択されたインデックスの従業員 ID をフェッチし、グリッドで更新するコードを記述します。

aspx ページ:

    AutoPastBack="true" OnSelectedIndexChanged="grid_selectedIndexchanged"

コードビハインドページ:

protected void grid_selectedIndexchanged(object sender, EventArgs e)

{ /*選択した従業員のデータベースからデータを取得するコード */

}

于 2012-06-19T07:15:32.337 に答える
0

EMPLOYEEID を ListItem の値として設定できます。そうすれば、アイテムを選択すると、選択したアイテムの従業員名と従業員 ID が得られます。

次のようなデータバインディングによって実現できます。

ddlEmpNames.DataSource = employees;
ddlEmpNames.DataTextField = "EMPLOYEENAME";
ddlEmpNames.DataValueField = "EMPLOYEEID";
ddlEmpNames.DataBind();

これにより、名前から従業員 ID を見つけるためだけに、別のデータベース呼び出しも節約できるでしょう。

于 2012-06-19T07:19:39.593 に答える
0

MSDN @Gridview サンプル コードでこのリンクを確認してください。

C# の Gridview SelectedIndexChanged イベント、および XML/html ファイルの GridView プロパティを確認/調査します。

于 2012-06-19T07:10:24.697 に答える