C#ListBox理解2--实现多行选择
2011-12-11 16:09
211 查看
for(;i< ReaderList.GetSelectedIndices().Length;i++)
ListBox1.Items.Add(ReaderList.Items[ReaderList.GetSelectedIndices()[i]].Value.ToString());
ListBox1是要进行添加的控件,ReaderList是进行选择的源控件。
思路:
1、设置名为ReaderList的ListBox控件的SelectionMode为Multiple。
2、调用GetSelectedIndices()得到选择的所有items的索引。
3、循环将所有的items添加到目标ListBox控件中去。
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
private readonly String ORACLECONNECTIONSTRING = ConfigurationSettings.AppSettings["test"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
///调用函数链接Oracle数据库
ScalarLabel.Text = ExecuteScalarMySqlCommand().ToString();
ExecuteXmlReaderMySqlCommand();
this.Button1.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
this.Button2.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
this.Button3.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
this.Button4.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
}
}
private object ExecuteScalarMySqlCommand()
{
string cmdTxt = "select count(*) from wq_ls";
OracleConnection conn = new OracleConnection(ORACLECONNECTIONSTRING);
OracleCommand ocmd = new OracleCommand(cmdTxt, conn);
conn.Open();
object scalarobject = ocmd.ExecuteScalar();
conn.Close();
return (scalarobject);
}
private void ExecuteXmlReaderMySqlCommand()
{
//DropDownList1.
ReaderList.Items.Clear();
string cmdText = "select n,cn from wq_ls";
OracleConnection myConn = new OracleConnection(ORACLECONNECTIONSTRING);
OracleCommand myCmd = new OracleCommand(cmdText, myConn);
myConn.Open();
OracleDataReader reader = myCmd.ExecuteReader();
while (reader.Read())
{
// DropDownList1
ReaderList.Items.Add(new ListItem(reader["n"].ToString() + reader["cn"].ToString()));
}
reader.Close();
myConn.Close();
}
protected void ReaderList_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void AddAndDeleteBtn_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
int i = 0;
string cmdName = ((Button)sender).CommandName;
switch (cmdName)
{
case "addone":
{
if (ReaderList.SelectedIndex > -1)
{
//ReaderList.Items.IndexOf().ToString();
ListBox1.Items.Clear();
{
for(;i< ReaderList.GetSelectedIndices().Length;i++)
ListBox1.Items.Add(ReaderList.Items[ReaderList.GetSelectedIndices()[i]].Value.ToString());
ScalarLabel.Text = ReaderList.GetSelectedIndices().Length.ToString();
}
//ListBox1.Items.Add(ReaderList.SelectedItem);
}
break;
}
case "addall":
{
ListBox1.Items.Clear();
foreach (ListItem item in ReaderList.Items)
{
ListBox1.Items.Add(item);
}
break;
}
default: break;
}
ReaderList.SelectedIndex = -1;
ListBox1.SelectedIndex = -1;
}
}
ListBox1.Items.Add(ReaderList.Items[ReaderList.GetSelectedIndices()[i]].Value.ToString());
ListBox1是要进行添加的控件,ReaderList是进行选择的源控件。
思路:
1、设置名为ReaderList的ListBox控件的SelectionMode为Multiple。
2、调用GetSelectedIndices()得到选择的所有items的索引。
3、循环将所有的items添加到目标ListBox控件中去。
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
private readonly String ORACLECONNECTIONSTRING = ConfigurationSettings.AppSettings["test"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
///调用函数链接Oracle数据库
ScalarLabel.Text = ExecuteScalarMySqlCommand().ToString();
ExecuteXmlReaderMySqlCommand();
this.Button1.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
this.Button2.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
this.Button3.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
this.Button4.Command += new CommandEventHandler(this.AddAndDeleteBtn_Command);
}
}
private object ExecuteScalarMySqlCommand()
{
string cmdTxt = "select count(*) from wq_ls";
OracleConnection conn = new OracleConnection(ORACLECONNECTIONSTRING);
OracleCommand ocmd = new OracleCommand(cmdTxt, conn);
conn.Open();
object scalarobject = ocmd.ExecuteScalar();
conn.Close();
return (scalarobject);
}
private void ExecuteXmlReaderMySqlCommand()
{
//DropDownList1.
ReaderList.Items.Clear();
string cmdText = "select n,cn from wq_ls";
OracleConnection myConn = new OracleConnection(ORACLECONNECTIONSTRING);
OracleCommand myCmd = new OracleCommand(cmdText, myConn);
myConn.Open();
OracleDataReader reader = myCmd.ExecuteReader();
while (reader.Read())
{
// DropDownList1
ReaderList.Items.Add(new ListItem(reader["n"].ToString() + reader["cn"].ToString()));
}
reader.Close();
myConn.Close();
}
protected void ReaderList_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void AddAndDeleteBtn_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
int i = 0;
string cmdName = ((Button)sender).CommandName;
switch (cmdName)
{
case "addone":
{
if (ReaderList.SelectedIndex > -1)
{
//ReaderList.Items.IndexOf().ToString();
ListBox1.Items.Clear();
{
for(;i< ReaderList.GetSelectedIndices().Length;i++)
ListBox1.Items.Add(ReaderList.Items[ReaderList.GetSelectedIndices()[i]].Value.ToString());
ScalarLabel.Text = ReaderList.GetSelectedIndices().Length.ToString();
}
//ListBox1.Items.Add(ReaderList.SelectedItem);
}
break;
}
case "addall":
{
ListBox1.Items.Clear();
foreach (ListItem item in ReaderList.Items)
{
ListBox1.Items.Add(item);
}
break;
}
default: break;
}
ReaderList.SelectedIndex = -1;
ListBox1.SelectedIndex = -1;
}
}
相关文章推荐
- 。窗体上有一个文本框(多行、且带有垂直滚动条)、一个标签(字体颜色红色、字号16)、一个按钮(该按钮被单击时,实现将文本框中选择文本复制至标签。
- 如何实现数据窗口的多行选择
- GridView获取后台数据实现多行多列选择,获取TextView文本内容
- 扩展DataView实现(MultiSelect)多行选择框
- 二分类问题打标签label以及求loss的选择——从accuracy底层实现代码理解
- 排序算法的实现(冒泡,选择,插入 O(N*N)--理解方法实现
- MSFlexGrid 实现删除连续选择的多行数据。
- Recyclerview的一些个人理解与使用(五)Recyclerview的联动,时间选择的实现
- 【笔试面试知识点查缺补漏深入理解之C与C++篇】排序的C语言实现-插入-选择-快排
- MSFlexGrid 实现删除连续选择的多行数据。
- JSF2.0 SelectBooleanCheckbox在dataTable中实现全选,自定义选择多行操作
- datagridview 多行选择的代码实现 替换ctrl+鼠标左键
- 排序算法的实现(冒泡,选择,插入 O(N*N)--理解方法实现
- Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)
- 点滴积累【JS】---JS小功能(onmouseover实现选择月份)
- 选择排序实现
- 微信公共服务平台开发(.Net 的实现)12-------网页授权(上 :更加深入理解OAuth2.0 )
- IOS开发:单选按钮选择实现(存在多个按钮)
- 我所理解的设计模式(C++实现)——责任链模式(Chain Of Responsibility Pattern)
- 用jQuery实现两个所属关系的select选项选择