Q
在两行之间插入行
1
A
回答
0
你必须插入该行的数据源 - 也许是一个DataTable。
然后你必须确保网格根据你的要求排序。您需要在特定位置放置新行,因此可能需要在DataTable上实现SortOrder列,然后根据需要在绑定前明确更新该列中的值新行以下的所有行。
+0
感谢坎贝尔的回复。我试着添加一行到数据表中,并用最新的数据表格重新绑定数据网格,但没有运气。新添加的行将添加到最后一行中。 – 2010-11-23 18:21:19
0
您可以将新行插入到数据源(例如DataTable)。 DataRowCollection有一个函数InsertAt,可让您在所需位置插入行。
我会提供一个简单的例子(在VB.Net有一个GridView,DataGrid的工作原理相同):
ASPX:
<asp:GridView ID="MyGrid" runat="server" AutoGenerateColumns="true">
</asp:GridView>
<asp:Button ID="BtnInsert" runat="server" Text="insert Obama at Position" /><asp:TextBox ID="TxtPosition" Text="0" runat="server"></asp:TextBox>
代码隐藏:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
BindData(getDataSource())
End If
End Sub
Private Function getDataSource() As DataTable
Dim tbl As New DataTable
Dim col As New DataColumn("ID", GetType(Int32))
tbl.Columns.Add(col)
col = New DataColumn("FirstName", GetType(String))
tbl.Columns.Add(col)
col = New DataColumn("LastName", GetType(String))
tbl.Columns.Add(col)
Dim row As DataRow = tbl.NewRow
row("ID") = 1
row("FirstName") = "Benjamin"
row("LastName") = "Franklin"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 2
row("FirstName") = "Arnold"
row("LastName") = "Schwarzenegger"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 3
row("FirstName") = "Albert"
row("LastName") = "Einstein"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 4
row("FirstName") = "Bill"
row("LastName") = "Gates"
tbl.Rows.Add(row)
Return tbl
End Function
Private Sub BindData(ByVal source As DataTable)
Me.MyGrid.DataSource = source
Me.MyGrid.DataBind()
End Sub
Private Sub BtnInsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnInsert.Click
Dim pos As Int32 = 0
Int32.TryParse(TxtPosition.Text, pos)
Dim source As DataTable = Me.getDataSource()
If pos < 0 OrElse pos > source.Rows.Count Then pos = 0
Dim row As DataRow = source.NewRow
row("ID") = 5
row("FirstName") = "Barack"
row("LastName") = "Obama"
source.Rows.InsertAt(row, pos)'this is the only important'
BindData(source)
End Sub
相关问题
- 1. sql - 插入两行之间?
- 2. 在表中的两行之间插入一行
- 3. 在SQL中插入两行之间的行
- 4. 插入两个已知行之间的行在Matlab
- 5. 在插入两行中的一行时捕获两行之间的关系
- 6. 如何避免动态插入两行之间的新行
- 7. 按组插入行之间的行
- 8. 在表格行之间插入边距
- 9. 在行之间插入文本file.txt
- 10. 在数据之间插入新行
- 11. 如何在两个条件之间插入换行符条件
- 12. Oracle - 在两次之间每小时插入一行
- 13. 用CSS在两个行内块元素之间插入换行符
- 14. 如何在Sql中的两个现有行之间的表中插入一行
- 15. 如何在HSSF(Apache POI)的现有Excel中的两行之间插入一行
- 16. 如何在sqlite管理器上的两行之间插入另一行
- 17. 如何在Winform c#ListView中的两行之间插入行分隔符?
- 18. Div行之间插入的差距
- 19. 插入时间之间有两个DATETIME
- 20. 如何插入两种颜色之间?
- 21. 在两个NetBeans插件版本之间进行交换
- 22. 在两个数组之间进行插值并更改值
- 23. 如何在两个C++ MFC插件之间进行通信?
- 24. MySQL行插入两次
- 25. 插入两行用Perl
- 26. stmt->执行插入两行
- 27. Vb.net插入行语句执行两次
- 28. 在两行数据之间交换值
- 29. 在两个webservices之间进行选择
- 30. 在Windows和Linux之间运行插口
或许表现出一定的代码你如何约束? – 2010-11-23 18:12:56