데이터 표시를 위해 DataGrid 컨트롤을 사용하여 웹 사이트 개발에 ASP.NET 1.1을 사용하고 있습니다.두 행 사이에 행 삽입
DataGrid 컨트롤에서 두 행 사이에 행을 삽입하는 방법을 제안 할 수 있습니까?
감사합니다,
-Narendra
데이터 표시를 위해 DataGrid 컨트롤을 사용하여 웹 사이트 개발에 ASP.NET 1.1을 사용하고 있습니다.두 행 사이에 행 삽입
DataGrid 컨트롤에서 두 행 사이에 행을 삽입하는 방법을 제안 할 수 있습니까?
감사합니다,
-Narendra
당신은 당신의 데이터 소스에서 해당 행을 삽입해야합니다 - 아마 DataTable을.
그런 다음 해야합니다 귀하의 요구 사항에 따라 격자 정렬됩니다. 특정 위치에 새 행을 넣으려는 경우 DataTable에 SortOrder 열을 구현하고 바인딩 전에 필요에 따라 새 행 아래의 모든 행을 행에 명시 적으로 업데이트하십시오.
답장을 보내 주셔서 감사합니다. 나는 datatable에 행을 추가하고 최신 datatable과 DataGrid를 리바 인했지만 행운이 없습니다. 새로 추가 된 행은 마지막 행에 추가됩니다. –
주문을 생성하는 SQL에서 정렬 기준 또는 정렬 기준을 리바 인딩하는 경우? – Matt
안녕하세요, 켐프벨, 한 가지 예를 들려주세요. –
새 행을 데이터 소스 (예 : DataTable)에 삽입 할 수 있습니다. DataRowCollection에는 원하는 위치에 행을 삽입 할 수있는 InsertAt 함수가 있습니다. 나는 간단한 예제를 제공합니다
(A의 GridView와 VB.Net으로는, 데이터 그리드는 동일하게 작동) :
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>
이 Codebehind가 :
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
은 아마도 몇 가지 코드를 보여를 너는 어떻게 묶고 있니? –