将默认值绑定到数据表 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
首先使用 DataSource
和 DataBind()
函数从数据库中添加数据。
可以通过创建新的列表项并将其插入到项的开头,将默认选项添加到所选选项中。
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()