0

True/False データ型として格納されているデータベースの値を表示するのが好きです。このデータをドロップダウンリストにレンダリングしたい。

したがって、データベースで値が「true」の場合、ドロップダウンリストで「はい」として表示するのが好きです。データベースで値が「false」の場合、ドロップダウンリストに「いいえ」として表示したい。

DataSet ds = getDetails(username);

if (ds.Tables.Count > 0) {
    TextBox1.Text = ds.Tables[0].Rows[0]["fName"].ToString();
    TextBox2.Text = ds.Tables[0].Rows[0]["lName"].ToString();
    TextBox3.Text = ds.Tables[0].Rows[0]["username"].ToString();
    TextBox2.Text = ds.Tables[0].Rows[0]["password"].ToString();

    if (Convert.ToInt32(ds.Tables[0].Rows[0]["admin"]) == 0) {
        DropDownList1.SelectedValue = "Yes";

    }
}

私が試したのは、ドロップダウンリストに2つの項目を追加することです。1つは値が「はい」の「はい」、もう1つは値が「いいえ」の「いいえ」です。

上記のコードでは、true/false を int 型に変換し、別の int と比較しています。データベースには true=0 と false= -1 が格納されているため、コードでそれを比較して、ドロップダウン リストを Yes または No にします。

しかし、それは機能していません。誰もこれに対する簡単な解決策を持っていますか?

4

2 に答える 2

1

else条項が欠けているだけですか?

if (Convert.ToInt32(ds.Tables[0].Rows[0]["admin"]) == 0) {
    DropDownList1.SelectedValue = "Yes";
} else {
    DropDownList1.SelectedValue = "No";
}
于 2013-06-19T07:51:45.543 に答える
1

ドロップダウン リストには 2 つの項目が必要です。

  • "-1"false を表す値を持つもの。
  • "0"true を表す値を持つもの。

Note: the standard value are 0 for false and 1 for true, you might want to use those eventually

もちろん、テキストを「true」/「false」などに自由に設定できます。

次に、SelectedValue を列の実際の値に設定します。

DropDownList1.SelectedValue = ds.Tables[0].Rows[0]["admin"].ToString();
于 2013-06-19T07:45:00.393 に答える