listbox控件的一些操作
2009-10-12 16:52
369 查看
1.
属性列表:
SelectionMode
组件中条目的选择类型,即多选
(Multiple)
、单选
(Single)
Rows
列表框中显示总共多少行
Selected
检测条目是否被选中
SelectedItem
返回的类型是
ListItem
,获得列表框中被选择的条目
Count
列表框中条目的总数
SelectedIndex
列表框中被选择项的索引值
Items
泛指列表框中的所有项,每一项的类型都是
ListItem
2.
取列表框中被选中的值
ListBox.SelectedValue
3.
动态的添加列表框中的项:
ListBox.Items.Add("
所要添加的项
");
4.
移出指定项:
//
首先判断列表框中的项是否大于
0
If(ListBox.Items.Count > 0 )
{
//
移出选择的项
ListBox.Items.Remove(ListBox.SelectedItem);
}
5.
清空所有项:
//
首先判断列表框中的项是否大于
0
If(ListBox.Items.Count > 0 )
{
//
清空所有项
ListBox.Items.Clear();
}
6.
列表框可以一次选择多项:
只需设置列表框的属性
SelectionMode="Multiple",
按
Ctrl
可以多选
7.
两个列表框联动,即两级联动菜单
//
判断第一个列表框中被选中的值
switch(ListBox1.SelectValue)
{
//
如果是
"A"
,第二个列表框中就添加这些:
case "A"
ListBox2.Items.Clear();
ListBox2.Items.Add("A1");
ListBox2.Items.Add("A2");
ListBox2.Items.Add("A3");
//
如果是
"B"
,第二个列表框中就添加这些:
case "B"
ListBox2.Items.Clear();
ListBox2.Items.Add("B1");
ListBox2.Items.Add("B2");
ListBox2.Items.Add("B3");
}
8.
实现列表框中项的移位
即:向上移位、向下移位
具体的思路为:创建一个
ListBox
对象,并把要移位的项先暂放在这个对象中。
如果是向上移位,就是把当前选定项的的上一项的值赋给当前选定的项,然后
把刚才新加入的对象的值,再附给当前选定项的前一项。
具体代码为:
//
定义一个变量,作移位用
index = -1;
//
将当前条目的文本以及值都保存到一个临时变量里面
ListItem lt=new ListItem (ListBox.SelectedItem.Text,ListBox.SelectedValue);
//
被选中的项的值等于上一条或下一条的值
ListBox.Items[ListBox.SelectedIndex].Text=ListBox.Items[ListBox.SelectedIndex + index].Text;
//
被选中的项的值等于上一条或下一条的值
ListBox.Items[ListBox.SelectedIndex].Value=ListBox.Items[ListBox.SelectedIndex + index].Value;
//
把被选中项的前一条或下一条的值用临时变量中的取代
ListBox.Items[ListBox.SelectedIndex].Test=lt.Test;
//
把被选中项的前一条或下一条的值用临时变量中的取代
ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
//
把鼠标指针放到移动后的那项上
ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
9.
移动指针到指定位置:
(1).
移至首条
//
将被选中项的索引设置为
0
就
OK
了
ListBox.SelectIndex=0;
(2).
移至尾条
//
将被选中项的索引设置为
ListBox.Items.Count-1
就
OK
了
ListBox.SelectIndex=ListBox.Items.Count-1;
(3).
上一条
//
用当前被选中的索引去减
1
ListBox.SelectIndex=ListBox.SelectIndex - 1;
(4).
下一条
//
用当前被选中的索引去加
1
ListBox.SelectIndex=ListBox.SelectIndex + 1;
出自
51CTO.COM
博客
this.ListBox1.Items.Insertat(3,new ListItem("
插入在第
3
行之后项
",""));
this.ListBox1.Items.Insertat(index,ListItem)
ListBox1.Items.Insert(0,new ListItem("text","value"));
ASP.NET
中添加控件
ListBox ,
属性设为
Multiple ,
则可进行多选
.
就以两个
listbox
之间多选添加项目为例
.
两个控件为
listboxleft , listboxright
定义了一个动态数组用于中间存储
arrRight .
具体代码如下
:
//
读取右边选中项目
ArrayList arrRight = new ArrayList();
foreach(ListItem item in this.ListBoxRight.Items) //
按类型
listitem
读取
listbox
中选定项
{
if(item.Selected) //
判断是否选中
{
arrRight.Add(item);
}
}
//
右边移除选定项目
左边添加
foreach(ListItem item in arrRight)
{
this.ListBoxLeft.Items.Add(item);
this.ListBoxRight.Items.Remove(item);
}
不能将
item
的添加删除直接写在
if(item.Selected){}
内
,
因为项目
remove
后会出现错误
Move the Item of ListBox
.aspx
--------------------------------
<asp:ListBox id="ListBox1" style="Z-INDEX: 105; LEFT: 96px; POSITION: absolute; TOP: 344px" runat="server">
<asp:ListItem Value="a1">a1</asp:ListItem>
<asp:ListItem Value="a2">a2</asp:ListItem>
<asp:ListItem Value="a3">a3</asp:ListItem>
</asp:ListBox>
----------------------------------
.cs
//for
个
private void Button1_Click(object sender, System.EventArgs e){
if (this.ListBox1.SelectedIndex>=0)
{
int i = ListBox1.SelectedIndex;
if(i>0)
{
string values = this.ListBox1.Items[i].Text ;
this.ListBox1.Items[i].Text = this.ListBox1.Items[i-1].Text ;
this.ListBox1.Items[i-1].Text = values;
}
}
}
ASP.NET
中ListBox
实现Double Click
事件
2007-06-24 13:18
ListBox
基本功能首先是列表项的添加
,
客户端实现代码添加在
listbox
实例化代码中间
,
例如:
<asp:ListItem Value="value" Selected=True>Text</asp:ListItem>
若在
服务器
端实现
,
为避免每次加载时执行添加列表项
,
上述代码包含在下面代码中
:
if(!IsPostBack)
{
}
WebForm
页面上须添加
2
个
listbox
(
listbox1
和
lixtbox2
)和
2
个命令按钮
,listbox1
不为空。列表项从
listbox1
添加到
listbox2
须在
Button1
单击事件中调用
Add
方法:
ListBox2.Items.Add(ListBox1.SelectedValue);
若要从
listbox2
中删除列表项的话须在
Button2
单击事件中调用
Remove
方法:
ListBox2.Items.Remove(ListBox2.SelectedValue);
列表项从
listbox1
添加到
listbox2
后
,
列表项从
listbox1
中删除:
int i=0;
while(i<ListBox1.Items.Count)
{
if(ListBox1.Items[i].Selected==true)
{
ListBox2.Items.Add(ListBox1.Items[i]);
ListBox1.Items.Remove(ListBox1.Items[i]);
}
else
i+=1;
}
这样只能实现单项添加
,
想要实现多项添加
,
首先设置
ListBox1
的
SelectionMode
属性值
Multiple,ListBox1
允许多项选中。
在
Button1
单击事件中添加
foreach(ListItem MyItem in ListBox1.Items)
if(MyItem.Selected==true)
ListBox2.Items.Add(MyItem);
想要一次清空
ListBox2
中所有选项可在
Button2
单击事件中调用
clear
方法
,
ListBox2.Items.Clear();
若列表项已经添加
,
不允许二次添加,
Button1
单击事件中的代码包含在:
if(ListBox2.Items.FindByValue(ListBox1.SelectedValue)==null)
{
}
ListBox
与
数据库
绑定就是指定他的
DataSource
和
DataTextField
属性
,
ListBox2.DataSource=
数据源
;
ListBox2.DataTextField="
字段名
";
ListBox2.DataBind();
如果是在后台做的话
AutoPostBack =true
然后给第一个
listbox
加事件(
SelectedIndexChanged
)
然后一个遍历就可以出来了
[Copy to clipboard]
[ - ]
CODE:
private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
for(int i=0;i<ListBox1.Items.Count;i++){
ListBox2.Items[i].Selected=ListBox1.Items[i].Selected;
}
}
如果是前台
js
的话,这里讨论过很多,找找看,思路是一样的。
属性列表:
SelectionMode
组件中条目的选择类型,即多选
(Multiple)
、单选
(Single)
Rows
列表框中显示总共多少行
Selected
检测条目是否被选中
SelectedItem
返回的类型是
ListItem
,获得列表框中被选择的条目
Count
列表框中条目的总数
SelectedIndex
列表框中被选择项的索引值
Items
泛指列表框中的所有项,每一项的类型都是
ListItem
2.
取列表框中被选中的值
ListBox.SelectedValue
3.
动态的添加列表框中的项:
ListBox.Items.Add("
所要添加的项
");
4.
移出指定项:
//
首先判断列表框中的项是否大于
0
If(ListBox.Items.Count > 0 )
{
//
移出选择的项
ListBox.Items.Remove(ListBox.SelectedItem);
}
5.
清空所有项:
//
首先判断列表框中的项是否大于
0
If(ListBox.Items.Count > 0 )
{
//
清空所有项
ListBox.Items.Clear();
}
6.
列表框可以一次选择多项:
只需设置列表框的属性
SelectionMode="Multiple",
按
Ctrl
可以多选
7.
两个列表框联动,即两级联动菜单
//
判断第一个列表框中被选中的值
switch(ListBox1.SelectValue)
{
//
如果是
"A"
,第二个列表框中就添加这些:
case "A"
ListBox2.Items.Clear();
ListBox2.Items.Add("A1");
ListBox2.Items.Add("A2");
ListBox2.Items.Add("A3");
//
如果是
"B"
,第二个列表框中就添加这些:
case "B"
ListBox2.Items.Clear();
ListBox2.Items.Add("B1");
ListBox2.Items.Add("B2");
ListBox2.Items.Add("B3");
}
8.
实现列表框中项的移位
即:向上移位、向下移位
具体的思路为:创建一个
ListBox
对象,并把要移位的项先暂放在这个对象中。
如果是向上移位,就是把当前选定项的的上一项的值赋给当前选定的项,然后
把刚才新加入的对象的值,再附给当前选定项的前一项。
具体代码为:
//
定义一个变量,作移位用
index = -1;
//
将当前条目的文本以及值都保存到一个临时变量里面
ListItem lt=new ListItem (ListBox.SelectedItem.Text,ListBox.SelectedValue);
//
被选中的项的值等于上一条或下一条的值
ListBox.Items[ListBox.SelectedIndex].Text=ListBox.Items[ListBox.SelectedIndex + index].Text;
//
被选中的项的值等于上一条或下一条的值
ListBox.Items[ListBox.SelectedIndex].Value=ListBox.Items[ListBox.SelectedIndex + index].Value;
//
把被选中项的前一条或下一条的值用临时变量中的取代
ListBox.Items[ListBox.SelectedIndex].Test=lt.Test;
//
把被选中项的前一条或下一条的值用临时变量中的取代
ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
//
把鼠标指针放到移动后的那项上
ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
9.
移动指针到指定位置:
(1).
移至首条
//
将被选中项的索引设置为
0
就
OK
了
ListBox.SelectIndex=0;
(2).
移至尾条
//
将被选中项的索引设置为
ListBox.Items.Count-1
就
OK
了
ListBox.SelectIndex=ListBox.Items.Count-1;
(3).
上一条
//
用当前被选中的索引去减
1
ListBox.SelectIndex=ListBox.SelectIndex - 1;
(4).
下一条
//
用当前被选中的索引去加
1
ListBox.SelectIndex=ListBox.SelectIndex + 1;
出自
51CTO.COM
博客
this.ListBox1.Items.Insertat(3,new ListItem("
插入在第
3
行之后项
",""));
this.ListBox1.Items.Insertat(index,ListItem)
ListBox1.Items.Insert(0,new ListItem("text","value"));
ASP.NET
中添加控件
ListBox ,
属性设为
Multiple ,
则可进行多选
.
就以两个
listbox
之间多选添加项目为例
.
两个控件为
listboxleft , listboxright
定义了一个动态数组用于中间存储
arrRight .
具体代码如下
:
//
读取右边选中项目
ArrayList arrRight = new ArrayList();
foreach(ListItem item in this.ListBoxRight.Items) //
按类型
listitem
读取
listbox
中选定项
{
if(item.Selected) //
判断是否选中
{
arrRight.Add(item);
}
}
//
右边移除选定项目
左边添加
foreach(ListItem item in arrRight)
{
this.ListBoxLeft.Items.Add(item);
this.ListBoxRight.Items.Remove(item);
}
不能将
item
的添加删除直接写在
if(item.Selected){}
内
,
因为项目
remove
后会出现错误
Move the Item of ListBox
.aspx
--------------------------------
<asp:ListBox id="ListBox1" style="Z-INDEX: 105; LEFT: 96px; POSITION: absolute; TOP: 344px" runat="server">
<asp:ListItem Value="a1">a1</asp:ListItem>
<asp:ListItem Value="a2">a2</asp:ListItem>
<asp:ListItem Value="a3">a3</asp:ListItem>
</asp:ListBox>
----------------------------------
.cs
//for
个
private void Button1_Click(object sender, System.EventArgs e){
if (this.ListBox1.SelectedIndex>=0)
{
int i = ListBox1.SelectedIndex;
if(i>0)
{
string values = this.ListBox1.Items[i].Text ;
this.ListBox1.Items[i].Text = this.ListBox1.Items[i-1].Text ;
this.ListBox1.Items[i-1].Text = values;
}
}
}
ASP.NET
中ListBox
实现Double Click
事件
2007-06-24 13:18
在ASP.NET 中的ListBox 控件的使用中很多人都发现没有了WINFORM 中ListBox 的鼠标双击事件 这样就给我们开发带来很多不方便的地方 也看了很多CSDN 上用JS 来实现双击事件的方法, 都是不完整的, 最后发现以下方法是最有效的 首先在WEB 页面上加入JS 脚本和存放ListBox 事件的隐藏输入框 再将ASP.NET 控件ListBox 中加入双击事件声明 <html> <head> <mce:script language="javascript"><!-- function ListBox1_DoubleClick() { /* we will change value of this hidden field so that in page load event we can identify event. */ document.forms[0].ListBox1Hidden.value = "doubleclicked"; document.forms[0].submit(); } // --></mce:script> </head> <body> <form runat="server"> <div>Double click on Listbox <br /> <asp:ListBox id="ListBox1" ondblclick="ListBox1_DoubleClick()" runat="server"> <asp:ListItem Value="1">One</asp:ListItem> <asp:ListItem Value="2">Two</asp:ListItem> <asp:ListItem Value="3">Three</asp:ListItem> <asp:ListItem Value="4">Four</asp:ListItem> </asp:ListBox> <input type="hidden" name="ListBox1Hidden" /> </div> <div>click on button <br /> <asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"/> </div> </form> </body> </html> 最后在 WEB 窗体加载时候执行下列代码就能实现双击 ListBox 中 Item 执行一些操作 void Page_Load(Object sender, EventArgs e){ if(Request.Params["ListBox1Hidden"] != null && (string)Request.Params["ListBox1Hidden"] == "doubleclicked" { //This means It was double click Response.Write("Double Click was fired selected item is " + ListBox1.SelectedItem.Text); //可以在这里加要运行的代码 } } 希望这篇文章能对大家有帮助, 不要再受CSDN 上帖子的误导了 |
基本功能首先是列表项的添加
,
客户端实现代码添加在
listbox
实例化代码中间
,
例如:
<asp:ListItem Value="value" Selected=True>Text</asp:ListItem>
若在
服务器
端实现
,
为避免每次加载时执行添加列表项
,
上述代码包含在下面代码中
:
if(!IsPostBack)
{
}
WebForm
页面上须添加
2
个
listbox
(
listbox1
和
lixtbox2
)和
2
个命令按钮
,listbox1
不为空。列表项从
listbox1
添加到
listbox2
须在
Button1
单击事件中调用
Add
方法:
ListBox2.Items.Add(ListBox1.SelectedValue);
若要从
listbox2
中删除列表项的话须在
Button2
单击事件中调用
Remove
方法:
ListBox2.Items.Remove(ListBox2.SelectedValue);
列表项从
listbox1
添加到
listbox2
后
,
列表项从
listbox1
中删除:
int i=0;
while(i<ListBox1.Items.Count)
{
if(ListBox1.Items[i].Selected==true)
{
ListBox2.Items.Add(ListBox1.Items[i]);
ListBox1.Items.Remove(ListBox1.Items[i]);
}
else
i+=1;
}
这样只能实现单项添加
,
想要实现多项添加
,
首先设置
ListBox1
的
SelectionMode
属性值
Multiple,ListBox1
允许多项选中。
在
Button1
单击事件中添加
foreach(ListItem MyItem in ListBox1.Items)
if(MyItem.Selected==true)
ListBox2.Items.Add(MyItem);
想要一次清空
ListBox2
中所有选项可在
Button2
单击事件中调用
clear
方法
,
ListBox2.Items.Clear();
若列表项已经添加
,
不允许二次添加,
Button1
单击事件中的代码包含在:
if(ListBox2.Items.FindByValue(ListBox1.SelectedValue)==null)
{
}
ListBox
与
数据库
绑定就是指定他的
DataSource
和
DataTextField
属性
,
ListBox2.DataSource=
数据源
;
ListBox2.DataTextField="
字段名
";
ListBox2.DataBind();
如果是在后台做的话
AutoPostBack =true
然后给第一个
listbox
加事件(
SelectedIndexChanged
)
然后一个遍历就可以出来了
[Copy to clipboard]
[ - ]
CODE:
private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
for(int i=0;i<ListBox1.Items.Count;i++){
ListBox2.Items[i].Selected=ListBox1.Items[i].Selected;
}
}
如果是前台
js
的话,这里讨论过很多,找找看,思路是一样的。
相关文章推荐
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- listbox控件的一些操作
- 关于目录、文件的一些操作
- TreeView专题(Asp.net2.0) 一些操作
- Jquery的一些基本操作
- Hibernate使用自己设定的应用层缓存时,一些优化操作
- Jquery操作ul的一些操作笔记
- excel一些操作技巧
- 一些系统操作 服务器端
- (6)本地版本库的一些操作
- 对字符串的操作的一些方法