Создание нескольких gridview с помощью кода в aspx .NET
Уважаемые эксперты,
Я работаю над созданием нескольких gridview для создания отчетов на основе категорий. каждый gridview имеет поля сохранения данных. единственное отличие-это данные. Я пытаюсь искать через google... у меня есть идея... но не работает...
Я надеюсь, что эксперты могут помочь
Что я уже пробовал:
Private dynamicGrids() As GridView Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit Dim myControl As Control = GetPostBackControl(Me.Page) If (myControl IsNot Nothing) Then If (myControl.ClientID.ToString() = "btnAddGrid") Then myCount = myCount + 1 End If End If End Sub Protected Overrides Sub OnInit(ByVal e As EventArgs) MyBase.OnInit(e) dynamicGrids = New GridView(myCount - 1) {} Dim i As Integer For i = 0 To myCount - 1 Step i + 1 Dim dynGridView As New GridView dynGridView.ID = "Gridview" + (i + 1).ToString gridPlaceHolder.Controls.Add(dynGridView) dynamicGrids(i) = dynGridView PopulateGrids(dynGridView) Dim literalBreak As LiteralControl = New LiteralControl("<br />") gridPlaceHolder.Controls.Add(literalBreak) Next End Sub Protected Sub btnAddGrid_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddGrid.Click ' Handled in preInit due to event sequencing. End Sub Public Shared Function GetPostBackControl(ByVal thePage As Page) As Control Dim myControl As Control = Nothing Dim ctrlName As String = thePage.Request.Params.Get("__EVENTTARGET") If ((ctrlName IsNot Nothing) And (ctrlName <> String.Empty)) Then myControl = thePage.FindControl(ctrlName) Else For Each Item As String In thePage.Request.Form Dim c As Control = thePage.FindControl(Item) If (TypeOf (c) Is System.Web.UI.WebControls.Button) Then myControl = c End If Next End If Return myControl End Function Private Sub PopulateGrids(ByVal grd As GridView) Dim b As New BusinessRules.BusinessRules If grd.ID = "Gridview1" Then grd.DataSource = b.GetData("Select CategoryId, CategoryName from Categories") ElseIf grd.ID = "Gridview2" Then grd.DataSource = b.GetData("Select OrderID, OrderDate from Orders") ElseIf grd.ID = "Gridview3" Then grd.DataSource = b.GetData("Select productid, productname from products") ElseIf grd.ID = "Gridview4" Then grd.DataSource = b.GetData("Select customerid, Companyname from customers") Else grd.DataSource = b.GetData("Select supplierid, Companyname from Suppliers") End If grd.DataBind() End Sub
Gerry Schmitz
Так что же происходит с кодом, который вы написали? Или это проверка кода? Но это не вопрос.