注册 登录
编程论坛 ASP.NET技术论坛

[求助]帮忙翻译解释下

tm_ma 发布于 2007-03-26 11:21, 592 次点击
帮帮我啊,不然我没法做下去了!!!
_________________________________________________________
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
If Not Page.IsPostBack Then
Call BindData() '启动页面时调用数据绑定子程序
End If
End Sub
'单击编辑时,执行该事件过程。
Sub MyDataGrid_Edit(Sender As Object, E As DataGridCommandEventArgs)
MyDataGrid.EditItemIndex = CInt(E.Item.ItemIndex)
Call BindData()
_______________________________________________________________________________________
问题: 这句是什么意思MyDataGrid.EditItemIndex = CInt(E.Item.ItemIndex),他的作用是什么CInt(E.Item.ItemIndex)
____________________________________________________________________________________
Sub MyDataGrid_Cancel(Sender As Object, E As DataGridCommandEventArgs)
MyDataGrid.EditItemIndex = -1
Call BindData()
___________________________________________________________________________________
问题:他的作用是什么:MyDataGrid.EditItemIndex = -1
___________________________________________________________________________________
End Sub
'单击更新时,执行该事件过程。
Sub MyDataGrid_Update(Sender As Object, E As DataGridCommandEventArgs)
'建立Connection对象
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("wwwlink.mdb"))
'建立Command对象
Dim txtSiteName,txtURL,txtIntro,txtGrade As textbox '声明文本框控件变量
txtSiteName=e.Item.Cells(2).Controls(0)
txtURL=e.Item.Cells(3).Controls(0)
txtIntro=e.Item.Cells(4).Controls(0)
txtGrade=e.Item.Cells(5).Controls(0)
Dim strSql As String
strSql="Update link Set sitename='" & txtSiteName.Text & "',URL='" & txtURL.Text & "',intro='" & txtIntro.Text & "',grade=" & CInt(txtGrade.Text) & ",submit_date=#" & Now() & "# Where link_id=" & MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
Dim cmd As New OleDbCommand(strSql, conn)
'执行更新操作
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
'重新绑定
MyDataGrid.EditItemIndex = -1
Call BindData()
End Sub
'数据绑定子程序,供其它过程调用
Sub BindData()
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("wwwlink.mdb")) '建立Connection对象
Dim cmd As New OleDbCommand("select * from link", conn) '建立Command对象
Dim adp As New OleDbDataAdapter(cmd) '建立DataAdapter对象
Dim ds As New DataSet() '建立DataSet对象
adp.Fill(ds, "link") '填充DataSet
MyDataGrid.DataSource=DS.Tables("link").DefaultView '指定数据源
MyDataGrid.DataBind() '执行绑定
End Sub
</script>
<html>
<body>
<h4 align="center">更新记录</h4>
<center>
<form runat="server">
<ASP:DataGrid id="MyDataGrid" Width="95%" HeaderStyle-BackColor="#BCBCBC" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update" DataKeyField="link_id" runat="server">
<Columns>
<asp:EditCommandColumn EditText="编辑" UpdateText="更新" CancelText="取消" ItemStyle-Wrap="False"/>
</Columns>
</ASP:DataGrid>
</form>
</center>
</body>
</html>
9 回复
#2
冰镇柠檬汁儿2007-03-26 11:24
MyDataGrid.EditItemIndex = CInt(E.Item.ItemIndex)

MyDataGrid.EditItemIndex:你要进行编辑操作的行的索引
E.Item.ItemIndex:你所要的行的索引
#3
Kendy1234562007-03-26 11:28

一个是将某行设置为编辑状态
一个是将设置所有行都不是在编辑状态

#4
tm_ma2007-03-26 11:37

通过两位得指点我通了点了,哈哈.但这句话还是不懂CInt(E.Item.ItemIndex)
___________________________________________________-
cint()转化成整数,括号里面得 就不太懂了,尤其是E,Item是行,ItemIndex是行号,为什么要加个E在括号里啊?

#5
Kendy1234562007-03-26 11:43
CINT是没用的 itemindex本来就是整数

E表示什么。。。看你自己发的另外个贴里说的吧
#6
冰镇柠檬汁儿2007-03-26 11:43
以下是引用tm_ma在2007-3-26 11:37:55的发言:

通过两位得指点我通了点了,哈哈.但这句话还是不懂CInt(E.Item.ItemIndex)
___________________________________________________-
cint()转化成整数,括号里面得 就不太懂了,尤其是E,Item是行,ItemIndex是行号,为什么要加个E在括号里啊?

Sub MyDataGrid_Update(Sender As Object, E As DataGridCommandEventArgs)
你所疑问的,就是在这里的E,这个E是一个DataGrid的Command相应的类的变量

#7
tm_ma2007-03-26 12:58

可以再通俗点吗!"这个E是一个DataGrid的Command相应的类的变量"不懂!!
我只知道"."的作用:比如说 马.马蹄.马蹄细胞,都是包含关系吧,
Item能够包含Itemindex但要说E能包含Item,Itemindex就不好说了吧!!

#8
Kendy1234562007-03-26 14:49
楼主 你拿英文和中文语法来较真。。。俺是无话可说了
#9
tm_ma2007-03-26 15:29
晕~~~这哪是叫劲啊.....我这是为了说明问题而打的一个比较形象的比喻而已啊
只是不懂e和Item.ItemIndex能有什么关系.
#10
Kendy1234562007-03-26 15:48
嗯 你可以认为老外的语文太烂。。。反正就是这么定义的
1