1、我现在有一个datagrid控件,里面有一列模版列,里面是一个dropdownlist控件,我想在选择dropdownlist控件的时候生成事件,因为dropdownlsit控件没有commandname属性,所以我使用了onselectedindexchanged事件,但是这样的结果是我选择某一行的dropdownlsit控件,整个页面都要刷新了,这样感觉太不友好了,有没有什么其他的办法?
2、我在datagrid控件里面还有另外的三个模版列,里面分别是一个textbox控件,textbox1,textbox2,textbox3,我想在textbox1或者textbox2里面输入值后在textbox3里面自动显示textbox1和textbox2的和,我同样也是用的服务器端的事件,能够实现,但是界面太不友好了,麻烦问一下有没有更好的办法,谢谢了!!!
2、我在datagrid控件里面还有另外的三个模版列,里面分别是一个textbox控件,textbox1,textbox2,textbox3,我想在textbox1或者textbox2里面输入值后在textbox3里面自动显示textbox1和textbox2的和,我同样也是用的服务器端的事件,能够实现,但是界面太不友好了,麻烦问一下有没有更好的办法,谢谢了!!!
解决方案 »
- VS自带的aboutbox窗体 改了一下内容后为什么调用的时候还是默认的
- tcp监听另一个程序怎么做呢
- 一段C代码转C#
- 如何动态的通过反射获得一个类的实例的所有属性的值?
- 请教各位高人!! 给解释下C#编写矩阵求逆的代码!!越详细越好
- 关于socket问题,请大家帮忙.
- 反射问题:如何获得成员名称?
- 急:请问如何开辟缓存空间以加快文件读写的速度?!
- 关于静态函数和普通类成员函数谁比较好
- 请问一下在wpf中我点击一个按钮弹出一个确认框 如图 我想当它没获得焦点的时候关闭或隐藏 我用了FocusableChanged事件 没用 请问怎么实现
- 软件打包问题,请教
- 高分求将htm打包成chm格式的思路
你要友好一點又要做到即時動作,javascript吧 hahha
1.你可以这个在那个dropdownlist控件的标签里面加一个事件onchange="javascript:return SetChange(this);"在脚本里面写一个方法,同时导一个jquery.js的脚本库这样就可以了
function SetChange(obj)
{
$(obj).children().each(function()
{
if($(this).attr("selected")=="selected")
{
$(this).val()//获取选中项的文本值
}
})
}
多看看jquery,这个东西很不错的
这样就不会刷新了
在Gridview的RowCreated事件中给textbox1和textbox2加上onchange事件setSum(this),前台页面定义
function setSum(o){var tr=o.parentElement.parentElement;} tr就是gridview转变table所在行,把它们的和赋给textbox3就OK了!
也可以用javascript在前端写
在前端抓取控件,然后赋值
今天不好给你写代码了,机子上没有安装VS2005
自己试试
你好,能不能麻烦你说的更清楚一点。我对javascript不是很熟悉。
大哥,有没有用过jquery呀,不知道就不要乱说,
它是把javascript里面对标签节点复杂的操作方法,进行简单化了
------------------------------
如果 textbox控件的ID是有序的如textbox1,textbox2,textbox3,可以这么处理: <script type="text/javascript">
function ChangeValue( oTxt,id)
{
var oTxt1 = oTxt.id;
var oTxt2 = oTxt1.substring(0,oTxt1.length-1) + "2";
if(id == '2')
oTxt2 = oTxt1.substring(0,oTxt1.length-1) + "1";
var oTxt3 = oTxt1.substring(0,oTxt1.length-1) + "3";
// alert( parseFloat( oTxt.value) + parseFloat(document.getElementById(oTxt2).value) );
document.getElementById(oTxt3).value =parseFloat( oTxt.value) + parseFloat(document.getElementById(oTxt2).value);
}
</script>--------------------------------
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" onChange="ChangeValue(this,'1')"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" onChange="ChangeValue(this,'2')"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</ItemTemplate>
----------------------------------------------------------------------------------------
欢迎访问我的新站:http://www.FavNet.cn —— 专勤致精 想您所思 专业IT技术服务
展示技术实力,寻求合作伙伴、合作项目中……
这个怎么用的啊,我不是太懂。
o.parentElement----o所在td
o.parentElement.parentElement------o所在td所在的行
我这里把解决的代码贴出来,希望大家指点。javascript 代码
<script language="javascript">
function setSum(o)
{
var name=o.name;
//alert(name);
var index=name.substring(name.indexOf('l')+1,name.lastIndexOf(':'));
//alert(index);
var tb1=document.getElementById("DataGrid1__ctl"+index+"_aa");
//alert(tb1.value);
var tb2=document.getElementById("DataGrid1__ctl"+index+"_bb");
var tb3=document.getElementById("DataGrid1__ctl"+index+"_cc");
tb3.value=parseInt(tb1.value)+parseInt(tb2.value); }
</script>
设计标签
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 80px; POSITION: absolute; TOP: 64px" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="col1" HeaderText="col1"></asp:BoundColumn>
<asp:BoundColumn DataField="col2" HeaderText="col2"></asp:BoundColumn>
<asp:BoundColumn DataField="col3" HeaderText="col3"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="加数一">
<ItemTemplate>
<asp:TextBox id="aa" onchange="setSum(this)" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="加数二">
<ItemTemplate>
<asp:TextBox id="bb" onchange="setSum(this)" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="和">
<ItemTemplate>
<asp:TextBox id="cc" name="TextBox3" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="计算">
<ItemTemplate>
<asp:Button id="Button" Text="计算" runat="server"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>