显示True/False数据类型值到下拉列表

本文关键字:下拉列表 数据类型 False True 显示 | 更新日期: 2023-09-27 18:19:03

我喜欢显示数据库的值,它存储为True/False数据类型。我想把这个数据渲染到下拉列表。

所以当值是"真"在数据库中,我喜欢显示它为下拉列表中的"是"。如果数据库中的值为"false",我喜欢在下拉列表中显示为"No"。

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";
    }
}

我所尝试的是,我在下拉列表中添加两个项目,一个值为"是"的"是"和另一个值为"否"的"否"。

在上面的代码中,我将true/false转换为int类型,并将其与另一个int类型进行比较。由于数据库存储true=0和false= -1,因此我在代码中比较它们以使下拉列表为Yes或No。

但它不起作用。有人有简单的解决办法吗?

显示True/False数据类型值到下拉列表

您只是错过了else条款吗?

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

你的下拉列表应该有2个项目

  • 值为"-1",表示false。
  • 值为"0"的一个,代表true。

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

你当然可以自由设置他们的文本为"真"/"假"或其他。

然后将SelectedValue设置为列的实际值。

DropDownList1.SelectedValue = ds.Tables[0].Rows[0]["admin"].ToString();