DataGri中有两个模板列,每个模板列中都有一个TextBox,想实现的是:
在其中一个TextBox的TextChanged事件里,到数据库中取出值,放到另一个TextBox里
一点思路没有,恳请大家指点!!越详细越好(最好是vb.net语法)
谢谢
在其中一个TextBox的TextChanged事件里,到数据库中取出值,放到另一个TextBox里
一点思路没有,恳请大家指点!!越详细越好(最好是vb.net语法)
谢谢
解决方案 »
- 为何只能以IP访问网站
- CS0103: 当前上下文中不存在名称“LbNews_Grade”
- 请问我在b/s结构里面怎么调用 MSCOMM 控件
- 关于httpHandlers和gif、png,高手请进
- 请问:哪里有C#写的财务软件的源代码?免费的??谢谢!!!!!!!!!!!
- 经常可以看到的路径~/images/t01334.gif中,~是什么意义啊??
- 我想在前台实现对sql server数据库备份和还原的功能,哪位有相关的程序代码?
- 关于DataGrid分页问题????
- 求在web中调用asp.netwinform
- windows Server2008R2 部署MVC5项目报错
- 极度怪的问题:联动的下拉框(runat=server),在代码里怎么取不出它的值来?有详细代码
- 这里有人看WROX的ASP.NET Website Programming Problen-Design-Solution.我问题求救???
text2.Text = "ok"
好象有点难度。总不可能在文本框里一输入,就上传吧。
孟子大哥说的太简单了!怎么注册TextChanged?
怎么重新绑定DataGrid啊
这是在datagrid里啊
详细点啊,
谢谢了!!
text2.Text = "ok">这些正常都很好实现,但是现在是在DataGrid里啊 :(
重新加载页面
我经常就这样做的,虽然苯,但是还是有用
TextChanged是服务器的啊。要递交到服务器才会生效的啊。
好象有点难度。总不可能在文本框里一输入,就上传吧。
--------------------------------------------
TextChanged不是在文本框里一输入就触发,而是
文本有变化时才触发的事件,这个我已经试过,请大家不必考虑这个问题,而是从实现机制上考虑!包括怎么把datagrid里的TextBox注册上TextChanged事件啊
谢谢
具体有什么难度?
不提交,怎么查数据库呢?
绑定DataGrid应该和你刚开始绑定的方法一样。
TextChanged的注册。应该在DataGrid_ItemDataBound里做。
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
Control coll;
if((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem))
{
coll = e.Item.FindControl("TextBox的ID");
coll.TextChanged = new EventHandler(textbox_TextChanged);
}
}然后你自己写个textbox_TextChanged 方法。
通过e.Item.FindControl("TextBoxID")找到TextBox,然后注册
----------Proyang(小过) ( )
他的方法不可以吗?试过没有?还有个办法,在绑定的时候给TextBox添加TextBox.Attribute.Add("onChange","you want");
然后用脚步去调用服务器端的事件。(这个在微软的asp.net开发技巧里面有的)不知道行不行,关注一下,当帮你顶
textbox_TextChanged里在怎样写,才能把DataGrid里的另一个TextBox的值赋上呢??!
还有个办法,在绑定的时候给TextBox添加TextBox.Attribute.Add("onChange","you want");
然后用脚步去调用服务器端的事件。(这个在微软的asp.net开发技巧里面有的)不知道行不行,关注一下,当帮你顶-------------------
谢谢,但不对,还是按的思路走对,感觉
coll.TextChanged = new EventHandler(textbox_TextChanged);
这句话用vb.net怎么写啊
coll.TextChanged = new EventHandler(textbox_TextChanged);
这句话用vb.net怎么写啊
text2.Text = "ok"
别灌了好吗:)
孟子大革的这个法子根本不行啊!俺急啊
coll.TextChanged = new EventHandler(textbox_TextChanged)
这句话用vb.net怎么写
DataGri中有两个模板列,每个模板列中都有一个TextBox,想实现的是:
在其中一个TextBox的TextChanged事件里,到数据库中取出值,放到另一个TextBox里
!!!!!!!!!!!!
^_^
然后把它放在模板列里就行了
昨天不是已经被goody9807解决了吗?!难道不对吗?!
出不来.所以没用TextChanged事件
<Columns>
<asp:BoundColumn DataField="ItemId"></asp:BoundColumn>
<asp:BoundColumn DataField="PublisherId"></asp:BoundColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox Runat="server" ID="Textbox1"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox Runat="server" ID="Textbox2"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn >
<ItemTemplate>
<asp:Button Runat="server" ID="Btn" Width=0 CommandName="UpdateBtn"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
代码:
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="UpdateBtn")
{
DataGrid dg=source as DataGrid;
for(int i=0;i<dg.Items.Count;i++)
{
TextBox box1=(TextBox)dg.Items[i].Cells[2].FindControl("Textbox1");
//拿到TextBox1的值
TextBox box2=(TextBox)dg.Items[i].Cells[3].FindControl("Textbox2");
box2.Text=??//你从数据库里拿值给TextBox2 }
}
}
实现:在TextBox1输入值,回车后TextBox2出现相关的值
希望对你有点帮助!