作者retsamsu (haha)
看板Visual_Basic
标题Re: [ASP.NET] 指定的转换无效
时间Tue Nov 7 18:29:18 2006
※ 引述《Lamfree (酷热夏天)》之铭言:
: ※ 引述《Lamfree (酷热夏天)》之铭言:
: 感谢大大的回应,小弟这几天也查有关findcontrol的用法
: 但却不知该怎用ASP.NET写,冏
: 因为查到资料大部分都是用JAVA或C#或VB.NET(跟ASP.NET还是有出入)
: 语法写 所以很惭愧的又来问大大
: 可以简述一下findcontrol跟control的转换用法 及注意事项
: 感恩~~
: 还有回F大大 我想control(0)应该是textbox
: 看了回覆後参阅书本,并没有讲的很详细,不过我前後看的很久
: 应该没错吧 希望您对此有所了解...可以帮小弟解惑
看了一下你大概是要对datagrid的修改作动作吧?
我有作过这样的东西,给你一些看看,希望对你有帮助。
当你对datagrid作update时,它的每一个格子预设为textbox,
所以如果你要取得修改後的值那就
Public Sub update_data(ByVal o As Object, ByVal e As
DataGridCommandEventArgs)
...
Dim CurrentTextBox As TextBox = e.Item.Cells(0).Controls(0)
...
这个是指选到的Item的第一个Cell的Control(唯一的一个Control,所以是0)
被抓成CurrentTextBox。但是有的时候可能是下拉选单,或是其他控制项的话,
就要特别注意要使用findcontrol去找那个控制项。
Dim DDL2 As MetaBuilders.WebControls.ComboBox = e.Item.Cells(1).
FindControl("Combobox2")
这个是指选到的Item的第二个Cell的ComboBox(其他控制项),他的ID是叫做
Combobox2(在设计画面时可以设定的)。
之前我也以为用.Controls(0)就可以的(因为还是只有一个控制项),但老是
不行,後来就用这个方法就可以了,可以试试看。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.209.4
1F:推 Lamfree:这好像跟我的不太一像= =",因为小弟用笔记本写 并不是用 11/08 18:00
2F:→ Lamfree:视窗拉...这样也可以吗??? @@" 11/08 18:04
3F:推 retsamsu:没关系阿,还是可以用,只要你需要FindControl的时候要知 11/08 23:00
4F:→ retsamsu:到ID就可以了,其他的有没有IDE没有差~ 11/08 23:00
5F:→ Lamfree:谢谢大大的回文,小弟修改部分已可以执行了 11/09 16:43