ListBox中怎么实现多选并显示数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<%@ Page Language="C#" AutoEventWireup="true" Debug="true"%>
<%@import namespace="System.Data"%>
<%@import namespace="System.Data.SqlClient"%>
<FORM RUNAT=< SPAN>"server">
"ckbEmployees" runat="server" RepeatLayout="table" RepeatDirection="vertical" RepeatColumns="3" CellPadding="9" CellSpacing="18" TextAlign="right" OnSelectedIndexChanged="subListChange" AutoPostBack="true" />
"dgEmployee" runat="server" />
<SCRIPT LANGUAGE=< SPAN>"c#" runat="server">
private void Page_load(object sender,System.EventArgs e)
{
if(!IsPostBack)
{
string strConnection ="server=.;uid=sa;pwd=sunix!;database=northwind";
string strSQLforCheckBoxes = "select LastName ,EmployeeID from employees order by lastname";
SqlConnection objConnection = new SqlConnection(strConnection);
SqlCommand objCommand = new SqlCommand(strSQLforCheckBoxes,objConnection);
objConnection.Open();
ckbEmployees.DataSource = objCommand.ExecuteReader();
ckbEmployees.DataTextField = "LastName";
ckbEmployees.DataValueField = "EmployeeID";
ckbEmployees.DataBind();
objConnection.Close();
}
}
private void subListChange(object s,System.EventArgs e)
{
Response.Write("subListchange triggered
");
string strWhereClause="";
foreach (ListItem liThisOne in ckbEmployees.Items)
{
if(liThisOne.Selected)
{
strWhereClause += "EmployeeID = " + liThisOne.Value + " OR ";
}
}
Response.Write("strWhereClause=
"+strWhereClause+"
");
if(strWhereClause.Length>0)
{
dgEmployee.Visible = true;
string str = strWhereClause.Substring(0,strWhereClause.Length - 3);
strWhereClause = " where " + str;
string strConnection = "server=.;uid=sa;pwd=sunix!;database=northwind";
string strSQLforGrid = "select TitleOfCourtesy,firstName,lastName,country,region,city,notes from employees " + strWhereClause;
//Response.Write(strSQLforGrid); sql语句之间的空格,否则出错
SqlConnection objConnection = new SqlConnection(strConnection);
SqlCommand objCommand = new SqlCommand(strSQLforGrid,objConnection);
Response.Write("strSQLforGrid=
"+strSQLforGrid+"
");
objConnection.Open();
dgEmployee.DataSource = objCommand.ExecuteReader();
dgEmployee.DataBind();
objConnection.Close();
}
else
{
dgEmployee.Visible = false;
}
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。