使用DataGrid容易范的几个错误。
2005-04-24 00:14
357 查看
这几天,把以前一个项目改了一下,在对程序的调试过程中,出现了一些使用DataGrid的错误。对DataGrid的理解也更深了一些。
1、在使用模板列时,发现在非编辑状态下,用e.Item.Cell(0).text总取不到值,后来跟踪调试了一下,发现e.Item.Cell(0).Text的值为空。但是其Controls里有Label控件。我恍然大悟。一想也对。既然在编辑状态下取的是TextBox的值,在非编辑状态下应该是Label啊。呵呵,从这里也对模板列的理解深了一点。
.对模板列,可以这样用:
If DataGrid1.EditItemIndex = e.Item.ItemIndex Then
Device = CType(e.Item.Cells(1).FindControl("txtDevice"), TextBox).Text.Trim()
Else
Device = CType(e.Item.Cells(1).FindControl("lblDevice"), Label).Text.Trim()
End If
2、在删除的时候,如果删除的是页面的第一项,删除后,CurrentPageIndex要向前一页。这点容易忽略。
If (DataGrid1.Items.Count Mod DataGrid1.PageSize = 1) And DataGrid1.CurrentPageIndex <> 0 Then
DataGrid1.CurrentPageIndex -= 1
End If
3、添加一个新项后转到最后一页。这点没什么必要。但是做出来显得更人性化一点。
If DataGrid1.Items.Count Mod ataGrid1.PageSize = 0 Then
DataGrid1.CurrentPageIndex = ataGrid1.PageCount
Else
DataGrid1.CurrentPageIndex = DataGrid1.PageCount - 1
End If
可能这些小技巧对于高手们来说已经司空见惯了。但我研究解决这些问题,最后学到新知识的过程是非常令人愉快的。所以在这里记下来。
1、在使用模板列时,发现在非编辑状态下,用e.Item.Cell(0).text总取不到值,后来跟踪调试了一下,发现e.Item.Cell(0).Text的值为空。但是其Controls里有Label控件。我恍然大悟。一想也对。既然在编辑状态下取的是TextBox的值,在非编辑状态下应该是Label啊。呵呵,从这里也对模板列的理解深了一点。
.对模板列,可以这样用:
If DataGrid1.EditItemIndex = e.Item.ItemIndex Then
Device = CType(e.Item.Cells(1).FindControl("txtDevice"), TextBox).Text.Trim()
Else
Device = CType(e.Item.Cells(1).FindControl("lblDevice"), Label).Text.Trim()
End If
2、在删除的时候,如果删除的是页面的第一项,删除后,CurrentPageIndex要向前一页。这点容易忽略。
If (DataGrid1.Items.Count Mod DataGrid1.PageSize = 1) And DataGrid1.CurrentPageIndex <> 0 Then
DataGrid1.CurrentPageIndex -= 1
End If
3、添加一个新项后转到最后一页。这点没什么必要。但是做出来显得更人性化一点。
If DataGrid1.Items.Count Mod ataGrid1.PageSize = 0 Then
DataGrid1.CurrentPageIndex = ataGrid1.PageCount
Else
DataGrid1.CurrentPageIndex = DataGrid1.PageCount - 1
End If
可能这些小技巧对于高手们来说已经司空见惯了。但我研究解决这些问题,最后学到新知识的过程是非常令人愉快的。所以在这里记下来。
相关文章推荐
- 使用c/c++指针 初学者容易犯的几个错误
- 使用JNDI的一个容易忽略的错误
- oauth认证中容易被错误使用而导致的漏洞
- erlang使用gen_server实现质数服务器(手打代码,还debug了几个错误)
- Oprofile 编译使用过程中遇到的几个错误
- 使用VC时一些容易犯的错误
- 使用Google App Engine开发中遇到的几个错误
- DataGrid的几个小技巧!(包括:使用模版列;使用按钮列;)
- 发现一个自己容易忽视的错误。空格+checkBOX 使用JS加载下来列表
- flex 在viewstack里使用AdvancedDataGrid,出现错误解决办法
- 使用scanf时容易出现的错误
- 使用SQL Server2005的几个错误解决方案
- 今天使用eclipes从svn上面导入maven的项目时出现了几个错误
- Python新手们容易犯的几个错误总结
- 项目中用hibernate容易出现错误的几个地方小记一下
- 使用GCD的时候容易犯的小错误总结
- 在ASP.NET中容易犯的几个错误
- opencv2411使用接口时出现的几个错误
- DG使用中遇到的几个错误
- 使用NSInteger容易忽视的错误