将默认值绑定到数据表 c# 中的下拉列表

本文关键字:下拉列表 数据表 默认值 绑定 | 更新日期: 2023-09-27 18:35:07

Code

protected void Page_Load(object sender, EventArgs e)
{        
    ddlYear.DataSource = GetYear();
    ddlYear.DataBind();
    ddlYear.Items.Insert(0, "--Select--");
    ddlYear.Items.Insert(1, "All");
}
public static DataTable GetYear()
    {
        DataTable dt = new DataTable();
        string strcon = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(strcon))
        {
            conn.Open();
            string strQuery = "SELECT Previous_Year AS Year FROM Year UNION ALL SELECT Current_Year FROM Year";
            SqlCommand cmd = new SqlCommand(strQuery, conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
        }
        return dt;
    }

我的数据表返回以下值

2014
2015

现在在页面加载时,我的下拉值应该如下所示,默认情况下,我需要在下拉列表中显示 2014 值。

--Select--
   All
  2014
  2015 

将默认值绑定到数据表 c# 中的下拉列表

首先使用 DataSourceDataBind() 函数从数据库中添加数据。

可以通过创建新的列表项并将其插入到项的开头,将默认选项添加到所选选项中。

ListItem item = new ListItem();
item.Text = "All";
item.Value = "-1";
this.ddlSelectBoxId.Items.Insert(0, item);

要选择 2014:

this.ddlSelectBoxId.SelectedValue = "2014";

此处ddlSelectBoxId是 ASP 下拉列表控件的 ID。

若要显示当前年份,可以使用以下内容:

this.ddlSelectBoxId.SelectedValue = DateTime.Now.Year.ToString();

要显示DataTable中的第一项:

确保已使用 SQL 命令根据需要进行排序,之后使用:

this.ddlSelectBoxId.SelectedValue = DataTable.Rows[0][0];

这将占用第一行的第一行和第一列。数据表是函数返回的变量。

试试这个,

ddlYear.DataSource = GetYear();
ddlYear.DataBind();
ddlYear.Items.Insert(0, "--Select--");
ddlYear.Items.Insert(1, "All");
ddlYear.Items.FindByValue("2014").Selected = true;

如果序列直接是 2014,2015..... 那么你可以将下拉列表的追加数据绑定项属性设置为 true。

也页面加载时

ddlYear.DataSource = GetYear();
Dim L As New List(Of string)
For Each item As ListItem In ddlYear
L.Add((item.Value).ToString());
Next
ddlYear.selectedvalue = L.Min();
ddlYear.DataBind();

我希望您想选择默认选择的当前年份。你可以通过以下方式做到这一点

ddlYear.SelectedValue=DateTime.Today.Year.ToString()