<script language="Javascript">
function document.onkeydown()
{
if(event.keyCode==13)event.keyCode=9
}
</script>
解决方案 »
- 新手学习触发器,高人指点
- 进来帮我的淫都会有福报的!!!
- 如何让winform在asp.net 服务器端显示。
- 求助:数据图形控件(柱形图、曲线图、饼图等)哪些比较好用,推荐一下,谢谢!
- Asp.net中导出Excel问题(都为数字的字符串导出到Excel后认为是数值,用科学计数法显示),急!
- 关于在ReturnUrl后面加锚点,怎么解决
- DataGrid 绑定的是ArrayList ,晕了
- iframe后台更改src问题
- 出现这个错误是什么问题?????
- 如何建立一个ASP.net
- 紧急求救!关于datareader的循环问题!代码如下,为什么连续的数据就没有问题,可是跳跃的数据就显示不出来呢!!着急中!!!
- 为什么 变成乱码 了呢?????????
第一、如dukaixy所说的这样子,但是,这只是移动到了下个控件,并不是移动到了下行的textbox,如果datagrid潜逃的不是一个控件,你会发现十分头疼;
第二、在textbox中添加ontextchange事件,并且要加以选择列,当触发事件的时候,datagrid的选择行下移;但是,如果textbox的内容不发生变化,出现的情况将是不变,如果你想继续运行,必须在选择以行,这是客户不愿意操作的
所以,还没有找到合适的办法,热烈支持你!
不过速度上好象不好,CUP老是100%左右。
<!--
//客户端文本框光标控制(上下移动)
//2002-11-18 function window.document.onkeydown()
{
if(window.event.srcElement.id!="")
{
if(window.event.keyCode==40||window.event.keyCode==38)
{
var txtbox;
txtbox=window.event.srcElement.id //取得当前光标所在文本框
alltxtbox=document.all.tags("Input")
var txtcol=0; //取得一列文本框的行数
var txtname
txtname=txtbox.substring(txtbox.lastIndexOf("_")+1)
var tt=new Array()
for (i=0;i<alltxtbox.length;i++)
{
if((alltxtbox(i).id).substring((alltxtbox(i).id).lastIndexOf("_")+1)==txtname)
{
txtcol+=1
tt[txtcol]=alltxtbox(i).id
}
}
var flag=0
for(k=1;k<tt.length;k++)
{
if (tt[k]==txtbox)
{
flag=k
break;
}
}
if( flag>1 && flag<tt.length-1)
{
if(window.event.keyCode==38)
{
window.document.getElementById(tt[flag-1]).select()
}
if(window.event.keyCode==40)
{
window.document.getElementById(tt[flag+1]).select()
}
}
else if (flag==1)
{
if(window.event.keyCode==40)
{
window.document.getElementById(tt[flag+1]).select()
}
}
else if(flag==tt.length-1)
{
if(window.event.keyCode==38)
{
window.document.getElementById(tt[flag-1]).select()
}
}
}
}
}
//-->
</script>
<asp:TemplateColumnHeaderText="成绩">
<ItemTemplate>
<asp:textboxtext='<%#container.dataItem("成绩")%>'runat="server"ID="tbCJSR" Width=50 TabIndex=1 AutoPostBack=True OnTextChanged="CJPutInCheck"/>
</ItemTemplate>
</asp:TemplateColumn>
改为
<asp:TemplateColumn HeaderText="成绩">
<ItemTemplate>
<input type=Text value='<%# container.dataItem("成绩") %>' name="Edt_BT">
</ItemTemplate>
</asp:TemplateColumn>
后按上下键就不行了
if((alltxtbox(i).id).substring((alltxtbox(i).id).lastIndexOf("_")+1)==txtname)你可以看一下客户端的控件名,然后试着改一下就可以了。
<input type=Text value='<%# container.dataItem("成绩") %>' name="Edt_BT">
最终是什么名
<asp:TemplateColumn HeaderText="成绩">
<ItemTemplate>
<input type=Text value='<%# container.dataItem("成绩") %>' name='AAA<%#
container.dataItem("序号")%>' onchange="setText(this);return false;">
</ItemTemplate>
</asp:TemplateColumn>
<script>
function window.document.onkeydown()
{
if (window.event.keyCode == 13)
window.event.keyCode =9;
}
function setText(inputname)
{
if (isNaN(parseFloat(inputname.value)))
{
window.alert("输入不正确!");
inputname.value="";
}
else if(parseFloat(inputname.value)==-1)
inputname.value="旷考";
else if (parseFloat(inputname.value)>=0)
inputname.value=parseFloat(inputname.value);
}
</script>问题是我输完后,按回车,光标仍然停留在原来的输入筐里,再按一次回车,才移到下一个输入筐,请问,我怎么按一次回车焦点就移到下一行?
可得到客户端txtRemainNext文本框的值或你试一下。
foreach(DataGridItem item in this.grd1.Items)//此代码我未试过。等会帮你试一下
{
string myvalue=item[序号所对应的列数].controls.controls[0].value}