帮帮初学者,DataGrid的问题

coffeedou 2005-08-14 02:15:32
有两组件:DataGrid:DG1;ListBox:LB1
现在想实现的功能是:双击DG1,把其中该行某列的数据加到LB1里面去,该如何实现?
...全文
238 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
coffeedou 2005-08-17
  • 打赏
  • 举报
回复
佩服门槛!
感谢!
wwh207 2005-08-17
  • 打赏
  • 举报
回复
gz
hchxxzx 2005-08-16
  • 打赏
  • 举报
回复
下面这一段再加一句
if(document.all("LBSort").options[i].text == AddName)
{
j = 1;
break;
}
hchxxzx 2005-08-16
  • 打赏
  • 举报
回复
请参考以下代码
你原先的代码有几个错误
1.变量i没有定义
2.document.all("LBSort").options.length
这样写是错误的,应该为
document.all("LBSort").length
3.document.all("LBSort").options[i].Text
后面的Text写法错误,应该是text,没有大写

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<SELECT NAME="LBSort">
<option value=1>aaa</option>
<option value=1>bbb</option>
</SELECT>
<input type=button value=button1 name=button1 onclick="AddListBox('1','aada');">
</BODY>
</HTML>
<script language="javascript">
function AddListBox(AddID,AddName)
{
var j = 0;

for(var i = 0;i < document.all("LBSort").length;i++)
{
if(document.all("LBSort").options[i].text == AddName)
{
j = 1;
}
}

if (j == 0)
{
document.all("LBSort").options.add(new Option(AddName,AddID));
}
}
</script>
莫情莫钱 2005-08-16
  • 打赏
  • 举报
回复
兄弟们很多,不用多说咯
lm9764 2005-08-16
  • 打赏
  • 举报
回复
up
leon168 2005-08-16
  • 打赏
  • 举报
回复
门槛上的就行
codeangel 2005-08-16
  • 打赏
  • 举报
回复
门槛上的就行
掐死温柔 2005-08-16
  • 打赏
  • 举报
回复
查MSDN.
在CSDN上搜索一下,挺多的.
coffeedou 2005-08-16
  • 打赏
  • 举报
回复
偶也呼唤他
shilei831115 2005-08-16
  • 打赏
  • 举报
回复
门槛!
我们亲爱的门槛!
coffeedou 2005-08-16
  • 打赏
  • 举报
回复
回复人: hchxxzx(NET?摸到一点门槛) ( ) 信誉:108

谢谢你!另外,我想判断一下,如果已经加了某选项就不再加了,下面这个写法错在哪?

<script language="javascript">
function AddListBox(AddID,AddName)
{
var j = 0;

for(i = 0;i < document.all("LBSort").options.length;i++)
{
if(document.all("LBSort").options[i].Text == AddName)
{
j = 1;
}
}

if (j == 0)
{
document.all("LBSort").options.add(new Option(AddName,AddID));
}
}
</script>
辉说慧语 2005-08-15
  • 打赏
  • 举报
回复
mark
hackate 2005-08-14
  • 打赏
  • 举报
回复
http://www.cnblogs.com/lovecherry/archive/2005/05/15/155831.html

可以参考这个例子!
iuhxq 2005-08-14
  • 打赏
  • 举报
回复
也可以用提交到服务器来处理,门槛的是在客户端处理的
iuhxq 2005-08-14
  • 打赏
  • 举报
回复
支持门槛
hchxxzx 2005-08-14
  • 打赏
  • 举报
回复
你可在datagrid的ItemDataBound事件里执行此操作
private void dgDoc_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
  if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
  {
//取出需要的列值
string mystr = e.Item.Cells[2].Text;
//对当前行添加双击事件,将上述求取值传递给一个添加列表框内容的函数
e.Item..Attributes.Add("ondblclick","addListBox('" + mystr + "');");
  }
}


然后在脚本中对列表框的操作你可参考以下代码
删除select列表
for(i=document.form[0].selectname.options.length;i>0;i--){document.form[0].selectname.options.remove(i-1);}

添加select列表
document.form[0].selectname.options.add(new Option("测试","测试"));

选择的select列序号
document.form[0].selectname.selectedIndex;
sxBamboo 2005-08-14
  • 打赏
  • 举报
回复
<script language="JAVASCRIPT">
function AddRemoveValues(DG1) {
//在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。
if(DG1.checked)
ListBox.value += "," + DG1.value;
else
ListBox.value = DG1.value.replace("," + DG1.value,"");
}
</script>

62,046

社区成员

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

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

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

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