最近在使用dropdownlist控件,对于这个控件,目前我知道的会使用两种方式去绑定数据,现在将这两种方式分享给大家:
现在是后台数据绑定
protected void BindCarID()
{
DataTable dt = new DataTable();
//这里是数据库查询出来的(sql语句和数据库连接,自己写)
string sql="select * from table1";
if (dt != null && dt.Rows.Count > )
{
dt.AsEnumerable().ToList().ForEach(
(i) =>
{
if (i["Type"].ToString().Trim() == "")
{
ddlbank.Items.Add(new ListItem(i["Name"].ToString().Trim(), i["ID"].ToString().Trim()));
}
else
{
ddlbank.Items.Add(new ListItem(i["Name"].ToString().Trim() + "(" + i["CardName"].ToString().Trim() + ")", i["ID"].ToString().Trim()));
}
} );
/*ddlbank.DataSource = dt;
ddlbank.DataValueField = "ID";
ddlbank.DataTextField = "Name";
ddlbank.DataBind();*/ 这里是直接数据源绑定
}
ddlbank.Items.Insert(, new ListItem("现金", ""));
//新增一个下拉着
}
清空dropdownlist列值的方法:
dropdownlist1.Items.Clear(); //情况看所有数据
dropdownlist1.Items.Remove("bbb"); //清空一行数据
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue("中国"));
就是如果通过FindByValue没有找到指定项则为null,而Items.IndexOf(null)会返回-1
设置dropdownlist1选中值
hidfg.Value="文本";//服务器隐藏控件 for (int i = ; i < dropdownlist1.Items.Count; i++)
{
if (hidfg.Value.Equals(dropdownlist1.Items[i].Value))
{
dropdownlist1.Items[i].Selected = true; }
}
接下来我们进行js+ashx进行数据显示
function GetBanks(id, name) {
$("#Allbank").empty();//清空dropdown
$.ajax({
type: "POST",
url: 'AjaxDf/BkAjax.ashx?OPT=banks', //处理页的相对地址
data: { guestid: id, opts: name }, //参数类型
success: function (dates) {
if (dates != "") {
var t = $.parseJSON(dates);
var f = t.rows;
$('#Allbank').append("<option value='-2' Selected='True'>其它</option>");
if (f.length > ) {
//绑定dropdown
for (var i = ; i < f.length; i++) {
$('#Allbank').append("<option value=" + f[i].BankID + ">" + f[i].BankName + "</option>");
}
}
$('#yh').css("display", "");
$('#Allbank').css("display", ""); }
}
});
}
ashx页面获取的数据,在返回给页面
#region 获取某个人的银行信息
public string GetBank(HttpContext context, int it)
{
classDBOP dbop = new classDBOP();
DataTable dt = new DataTable();
string guestid = "";
if (context.Request.Params["guestid"] != null)
{
guestid = context.Request.Params["guestid"].ToString().Trim();
}
string bid="";
if (context.Request.Params["bid"] != null)
{
bid = context.Request.Params["bid"].ToString().Trim();
}
string tps = "";
string strwhere = "";
if (it == )
{
strwhere = "BankID=" + bid + "";
}
else
{
if (context.Request.Params["opts"] != null)
{
tps = context.Request.Params["opts"].ToString().Trim(); }
strwhere = "TP='" + tps + "' and TPid=" + guestid;
}
dt = dbop.SchDataDT("table", "ID,Name,[Type]", strwhere, );//获取数据
int Counts = ;
string bankNo = "";
if (dt != null)
{
Counts = dt.Rows.Count;
for (int i = ; i < dt.Rows.Count; i++)
{
bankNo = dt.Rows[]["ID"].ToString();
}
}
if (it == )
{
return bankNo;
}
else
{
string fh = jsonop.ToJsonString(dt, Counts);
return fh;
}
}
#endregion
以上是两种绑定方法,数据库连接和查询需要朋友们自己写哦。-