0

私はasp.netの初心者なので、テーブルにバインドされたドロップダウンリストについて助けていただければ幸いです。

シナリオは次のとおりです。

フィールド UserId、UserName、および Type を持つテーブル Account があります。Type フィールドには、「S」、「A」、および「U」の 3 つの項目が含まれます。各ユーザーには独自のタイプがあります。すでにある「ddlType」という名前のドロップダウンリストがあります

Account テーブルにバインドされています。ただし、ドロップダウンリストのオプションを、文字/イニシャルのみを表示するのではなく、「利害関係者」、「承認者」、および「ユーザー」として表示したいと考えています。データベースに変更を加えたくないので、コード ビハインドを使用してこれらのオプションを変更するにはどうすればよいですか?

これが私のコードです:

public void BindControls(int selectedUserId) {DataTable dtAccount = null;

try
{
    dtAccount = LogBAL.GetAccountDetails(selectedUserId);

    if (dtAccount.Rows.Count > 0)
    {
        lblUserId.Text = dtAccount.Rows[0]["UserId"].ToString();
        txtUserName.Text = dtAccount.Rows[0]["UserName"].ToString();
        ddlType.SelectedValue = dtAccount.Rows[0]["Type"].ToString();
    }
}
catch (Exception ex)
{
    throw ex;
}
finally
{
    dtAccount.Dispose();
}

}

皆さんからの助けをいただければ幸いです。ありがとうございます!:D

4

1 に答える 1

0

コードビハインドでドロップダウンリストをバインドできます。

データ「タイプ」を配列に取得します。配列を 2 次元にして値を代入します。

データを取得すると、配列は次のようになります。 string[,] Types = { { "Stakeholder", "S" }, { "Approver", "A" }, { "User", "U" } };

ここでドロップダウンに値を割り当てます。int rows = Types.GetUpperBound(0);
int 列 = Types.GetUpperBound(1);
ddlType.Items.Clear(); for (int currentRow = 0; currentRow <= 行; currentRow++)
{
ListItem li = new ListItem();
for (int currentColumn = 0; currentColumn <= columns; currentColumn++)
{
if (currentColumn == 0)
{
li.Text = Types[currentRow, currentColumn];
}
else
{
li.Value = タイプ[現在の行、現在の列];
}
}
ddlType.Items.Add(li);
}

私はそれをテストしていませんが、うまくいくことを願っています。

于 2013-04-18T04:11:59.003 に答える