不太难的问题,DATASET

flers 2003-11-27 02:32:03
'编辑命令
Sub datagrid_editcommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = e.Item.ItemIndex
datagridbind()
End Sub
'取消命令
Sub datagrid_cancelcommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = -1
datagridbind()
End Sub
'提交编辑命令
Sub datagrid_updatecommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim mysm, myfj As TextBox
mysm = e.Item.Cells(7).Controls(0)
myfj = e.Item.Cells(8).Controls(0)
e.Item.Cells(7).Text = mysm.Text
e.Item.Cells(8).Text = myfj.Text
'tempds.Tables("dstable").Rows(0).Item(7) = mysm.Text
'tempds.Tables("dstable").Rows(0).Item(8) = myfj.Text
DataGrid1.EditItemIndex = -1
'DataGrid1.DataSource = tempds.Tables("dstable").DefaultView
'DataGrid1.DataSource = myds.Tables("dstable")
'DataGrid1.DataBind()
End Sub
'绑定数据
Sub datagridbind()
chang()
Dim mysql As String
Dim i As Int16
Dim myadapter As SqlDataAdapter
mysql = "select * from khyqb where " & sqltj
myconn.Open()
myadapter = New SqlDataAdapter(mysql, myconn)
If sqltj = "" Then
myadapter.SelectCommand.Cancel()
Exit Sub
Else
myadapter.Fill(myds, "dstable")
DataGrid1.DataSource = myds.Tables(0).DefaultView
DataGrid1.DataBind()
End If
End Sub
问题:当点击编辑后原来已编辑好的数据不见了,如果去掉编辑命令中的DATAGRIDBIND的话,必须点两次编辑才能显示出编辑框??
...全文
89 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
flers 2003-11-27
  • 打赏
  • 举报
回复
吐血,没解决××××&&&&@@@
Ewsq 2003-11-27
  • 打赏
  • 举报
回复
ISPOSTBACK你用了吗?
zhoulanga 2003-11-27
  • 打赏
  • 举报
回复
想说的楼上的也说得差不多了。真是没有道理的。顶一下。
ykwang 2003-11-27
  • 打赏
  • 举报
回复
照理说应该是刷新的问题,因为ASP.NET是先执行PAGE_LOAD再执行你的事件的
flers 2003-11-27
  • 打赏
  • 举报
回复
select * from khyqb where id =1262564 or id=1280562 or id=1330212 or id=1355879 or id=1321241 or id=1355700 or id=1365821 or id=1341868 or id=1343556 or id=1348870 跟踪了了下都是这条语句!我觉的最大问题是我要修改的值没有与数据库连接起来,我的没有入库,但我有执行DATAGRIDBIND后就绑定了为空了!
acewang 2003-11-27
  • 打赏
  • 举报
回复
断点调试--查看你修改前后sqltj的变化
flers 2003-11-27
  • 打赏
  • 举报
回复
再次说明,我要修改的值是一个空的绑定列,所以当我一用DATAGRIDBIND()时相当于重新绑定了一个空的值给这个绑定模板
flers 2003-11-27
  • 打赏
  • 举报
回复
Public sqltj As String '生成的SQL条件语句
Overloads Sub chang() '取出字串session()
Dim str, temp As String
temp = ""
Dim i, j, tt As Integer
sqltj = ""
If Not Session("strs") Is Nothing Then
str = Session("strs")
str = str.ToCharArray
For i = 0 To str.Length - 1

If str.Chars(i) <> "," Then
temp = temp + str.Chars(i)
Else
If tt = 1 Then
sqltj = sqltj & " or id=" & temp & " "
temp = ""
Else
sqltj = "id =" & temp
temp = ""
End If

If tt = 0 Then
tt = 1
Else
tt = 1
End If

End If
Next
End If
End Sub
acewang 2003-11-27
  • 打赏
  • 举报
回复
你的change()作什么用的,还有,sqltj是不是个全局的,可能由它引起的
flers 2003-11-27
  • 打赏
  • 举报
回复
acewang(**^o^**) 我试过了
acewang 2003-11-27
  • 打赏
  • 举报
回复
if Not IsPostBack then
DataGridBind()
End if
sgp1201 2003-11-27
  • 打赏
  • 举报
回复
netcoder 2003-11-27
  • 打赏
  • 举报
回复
帮你顶一下,过一会再来看

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧