프로그래밍 초보자입니다. UserControl을 Gridview 템플릿에 동적으로 추가하는 프로그램을 만들고 있는데 DataCont의 값을 UserControl의 속성에 전달하려고합니다. Gridview의 TemplateField에는 이미 1 개의 사용자 정의 컨트롤이 미리로드되어 있으며, 버튼을 클릭하면 번호가 매겨진 새로운 UserControl이 추가됩니다.Datatable에서 UserControl 속성으로 값 전달
다음은 FormLoad 이벤트 페이지의 코드입니다.
Dim dtSESRatings As New DataTable
dtSESRatings.Columns.Add("IncrementNumber")
dtSESRatings.Rows.Add("1")
ViewState("dtSESRatings") = dtSESRatings
gvSesRating.DataSource = dtSESRatings
gvSesRating.DataBind()
는 그리고 나는 IncrementNumber 속성이 SESRatings.ascx에 설정된 사용자 컨트롤의 번호 라벨에 행을 추가 할. 그것이있는 gridview에서 새 사용자 컨트롤을 만들 예정이다,
<asp:GridView ID="gvSesRating" runat="server" Width="100%" ShowHeader="false" GridLines="None"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<ses:SESRatings runat="server" ID="ses1" IncrementNumber="1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
이 FormLoad 후, 버튼을 클릭에 "NEW 평가 추가"및 코드는 여기에 있습니다 : : 이 ASP 코드입니다
Protected Sub btnAddRating_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAddRating.Click
Dim dt As DataTable = ViewState("dtSESRatings")
Dim dtCnt As Integer = dt.Rows.Count
dtCnt += 1
dt.Rows.Add(dtCnt)
ViewState("dtSESRatings") = dt
gvSesRating.DataSource = dt
gvSesRating.DataBind()
dt = Nothing
End Sub
GridView에 추가 될 사용자 정의 컨트롤이 dtCnt를 가져와 사용자 정의 컨트롤의 IncrementNumber 속성에 전달하려고합니다. 어떻게해야합니까? 도와주세요. 감사.
내가 이미 평가 태그를 추가하지만 불행히도, 제 2 사용자 정의 컨트롤을 추가 한 후, 번호 매기기는 모든 사용자 컨트롤이 이제 번호가 0으로 1.되었다 0. –