两个listbox之间传数据传递

yangjinju2008 2009-05-01 02:59:31
我现在想实现两个listbox之间传数据,四个按钮就是选中单个,选中全部,删除一个,删除全部 我想用 listA.Items.Add(this.listB.SelectedValue); 最终B的内容要存入数据库,我想对A进行数据绑定,显示值是姓名,实际值是ID,可是我传到B的时候显示却是ID,大家有没有更好的办法啊! 如果不用数据捆绑话,只显示姓名,可以传到B,但是那是姓名,可能会重复,最好也可以得到ID,和姓名! 如果我用捆绑,利用listB.SelectedValue再去数据库找姓名觉得数据库访问太频繁了!
谢谢大家了!!!!!!!!
...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy664618843 2009-05-01
  • 打赏
  • 举报
回复
int index=0;
ListItem item=ListBox1.Items[index];
for(int i=0;i<listbox1.Items.count;i++)
{
if(ListBox1.Items[index].selected=true)
{
listBox1.Items.Add(item
index--;
}
index++;
}
中年秃头大叔 2009-05-01
  • 打赏
  • 举报
回复
楼主可以把下面的拷贝到.net 2005编辑器里看看效果。
前台:
<table>
<tr>
<td align="center" valign="middle">
<asp:ListBox ID="listAll" runat="server" SelectionMode="Single" Height="230px" Width="150px">//下面的数据可以绑定显示
<asp:ListItem Value="name">姓名</asp:ListItem>
<asp:ListItem Value="sex">性别</asp:ListItem>
<asp:ListItem Value="nation">民族</asp:ListItem>
<asp:ListItem Value="n_place">籍贯</asp:ListItem>
<asp:ListItem Value="jw_hours">参加工作时间</asp:ListItem>
<asp:ListItem Value="birthday">出生年月</asp:ListItem>
<asp:ListItem Value="id_card">身份证号</asp:ListItem>
<asp:ListItem Value="stc_tag">职称</asp:ListItem>
<asp:ListItem Value="fl_grade">外语等级</asp:ListItem>
<asp:ListItem Value="com_grade">计算机等级</asp:ListItem>
<asp:ListItem Value="clan_name">党派名称</asp:ListItem>
</asp:ListBox>
</td>
<td align="center" valign="middle" width="20px">
<asp:ImageButton ID="up" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/image/up.gif"//up.gif 是把右边的listbox 中的某一项向上移动。
OnClick="up_Click" /><br />
<br />
<asp:ImageButton ID="dn" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/image/dn.gif"//dn.gif是把右边的listbox 中的某一项向下移动。
OnClick="dn_Click" /><br />
<br />
<asp:ImageButton ID="ffwd" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/image/ffwd.gif"//ffwd.gif是全部添加之右边的listbox
OnClick="ffwd_Click" /><br />
<br />
<asp:ImageButton ID="rt" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/image/rt.gif"//rt.gif是选中左边的一项,添加到右边的listbox中
OnClick="rt_Click" /><br />
<br />
<asp:ImageButton ID="lt" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/image/lt.gif"//lt.gif从右边的listbox中删除一项。
OnClick="lt_Click" /><br />
<br />
<asp:ImageButton ID="frew" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/image/frew.gif"//frew.gif是把右边listbox数据全部删除
OnClick="frew_Click" />
</td>
<td align="center" valign="middle">
<asp:ListBox ID="listFilter" runat="server" SelectionMode="Single" Height="230px"
Width="150px"></asp:ListBox>
</td>
</tr>
</table>

后台:
protected void lt_Click(object sender, ImageClickEventArgs e)
{
if (this.listFilter.Items.Count >= 1)
{
try
{
int m = listFilter.SelectedIndex == this.listFilter.Items.Count - 1 ? 0 : this.listFilter.SelectedIndex;
ListItem item = new ListItem();
item.Value = this.listFilter.SelectedValue;
item.Text = this.listFilter.SelectedItem.Text;
this.listAll.Items.Add(item);
this.listFilter.Items.RemoveAt(this.listFilter.SelectedIndex);
this.listFilter.Items[m].Selected = true;
}
catch
{
}
}
}
protected void rt_Click(object sender, ImageClickEventArgs e)
{
if (this.listAll.Items.Count >= 1)
{
try
{
int m = this.listAll.SelectedIndex == this.listAll.Items.Count - 1 ? 0 : this.listAll.SelectedIndex;
ListItem item = new ListItem();
item.Value = this.listAll.SelectedValue;
item.Text = this.listAll.SelectedItem.Text;
this.listFilter.Items.Add(item);
this.listAll.Items.RemoveAt(this.listAll.SelectedIndex);
this.listAll.Items[m].Selected = true;
}
catch
{
}
}
}
protected void ffwd_Click(object sender, ImageClickEventArgs e)
{
if (this.listAll.Items.Count >= 1)
{
for (int i = 0; i < this.listAll.Items.Count; i++)
{
ListItem item = new ListItem();
item.Value = this.listAll.Items[i].Value;
item.Text = this.listAll.Items[i].Text;
this.listFilter.Items.Add(item);
}
this.listAll.Items.Clear();
}
}
protected void frew_Click(object sender, ImageClickEventArgs e)
{
if (this.listFilter.Items.Count >= 1)
{
for (int i = 0; i < this.listFilter.Items.Count; i++)
{
ListItem item = new ListItem();
item.Value = this.listFilter.Items[i].Value;
item.Text = this.listFilter.Items[i].Text;
this.listAll.Items.Add(item);
}
this.listFilter.Items.Clear();
}
}
protected void up_Click(object sender, ImageClickEventArgs e)
{
if (this.listFilter.Items.Count >= 2)
{
try
{
ListItem item = new ListItem();
item.Value = this.listFilter.SelectedValue;
item.Text = this.listFilter.SelectedItem.Text;
int selectindex = this.listFilter.SelectedIndex;
this.listFilter.Items[selectindex].Value = this.listFilter.Items[selectindex - 1].Value;
this.listFilter.Items[selectindex].Text = this.listFilter.Items[selectindex - 1].Text;

this.listFilter.Items[selectindex - 1].Value = item.Value;
this.listFilter.Items[selectindex - 1].Text = item.Text;
for (int i = 0; i < this.listFilter.Items.Count; i++)
{
this.listFilter.Items[i].Selected = false;
}
this.listFilter.Items[selectindex - 1].Selected = true;
}
catch
{
}
}
}
protected void dn_Click(object sender, ImageClickEventArgs e)
{
if (this.listFilter.Items.Count >= 2)
{
try
{
ListItem item = new ListItem();
item.Value = this.listFilter.SelectedValue;
item.Text = this.listFilter.SelectedItem.Text;
int selectindex = this.listFilter.SelectedIndex;
this.listFilter.Items[selectindex].Value = this.listFilter.Items[selectindex + 1].Value;
this.listFilter.Items[selectindex].Text = this.listFilter.Items[selectindex + 1].Text;

this.listFilter.Items[selectindex + 1].Value = item.Value;
this.listFilter.Items[selectindex + 1].Text = item.Text;
for (int i = 0; i < this.listFilter.Items.Count; i++)
{
this.listFilter.Items[i].Selected = false;
}
this.listFilter.Items[selectindex + 1].Selected = true;
}
catch
{
}
}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧