代码
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
答案 0 :(得分:1)
试试这个,
ddlYear.DataSource = GetYear();
ddlYear.DataBind();
ddlYear.Items.Insert(0, "--Select--");
ddlYear.Items.Insert(1, "All");
ddlYear.Items.FindByValue("2014").Selected = true;
答案 1 :(得分:1)
首先使用DataSource
和DataBind()
功能从数据库添加数据。
您可以通过创建新的ListItem为您的选择添加默认选项,并将其插入项目的开头。
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];
这将获取第一行的第一行和第一列。 DataTable是您的函数返回的变量。
答案 2 :(得分:1)
如果序列直接是2014,2015 .....那么你可以将下拉列表的appenddatabounditems属性设置为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();
答案 3 :(得分:0)
我希望您选择默认选择的当前年份。你可以通过
来做到这一点ddlYear.SelectedValue=DateTime.Today.Year.ToString()