2013-07-16 2 views
0

Я сделал DataTable в коде позади, в VB.NET. Мне нужно вызвать его с моей страницы .ASPX и показать это как ListView.получить данные в listview

Мой код за это:

Dim table As New DataTable 

' columns in the DataTable. 
table.Columns.Add("Monday", System.Type.GetType("System.Int32")) 
table.Columns.Add("Tuesday", System.Type.GetType("System.Int32")) 
table.Columns.Add("Wednesday", System.Type.GetType("System.Int32")) 
table.Columns.Add("Thursday", System.Type.GetType("System.Int32")) 
table.Columns.Add("Friday", System.Type.GetType("System.Int32")) 
' rows with those columns filled in the DataTable. 
table.Rows.Add(1, 2005, 2000, 4000, 34) 
table.Rows.Add(2, 3024, 2343, 2342, 12) 
table.Rows.Add(3, 2320, 9890, 1278, 2) 
table.Rows.Add(4, 3420, 1234, 4321, 89) 
table.Rows.Add(5, 3240, 6600, 1100, 56) 
table.Rows.Add(6, 4320, 1100, 3243, 23) 
table.Rows.Add(7, 4540, 7645, 4324, 56) 

Я хочу только показать понедельник и вторник на странице .aspx. Как я это сделаю? На данный момент у меня есть это:

<asp:ListView ID="Listview1" runat="server"> 
    <LayoutTemplate> 
     <table> 
      <tr> 
       <th> 
       </th> 
       <th> 
        monday 
       </th> 
       <th> 
        tuesday 
       </th> 
       <th> 
        wednesday 
       </th> 
      </tr> 
      <tr id="holder" runat="server"> 
      </tr> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <tr> 
      <!--some code goes here am guessing--> 
     </tr> 
    </ItemTemplate> 
</asp:ListView> 

это в коде aspx позади?

Property readonly Data() As DataTable 



End Property 

ответ

1

В вашем ASPX следующее:

<asp:ListView ID="table" runat="server" ItemPlaceholderID="itemPlaceholder"> 
     <LayoutTemplate> 
      <table> 
       <tr> 
        <th> 
        </th> 
        <th> 
         monday 
        </th> 
        <th> 
         tuesday 
        </th> 
       </tr> 
       <tr runat="server" id="itemPlaceholder" /> 
      </table> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <tr id="Tr1" runat="server"> 
       <td> 
        <asp:Label ID="lblmon" runat="Server" Text='<%#Eval("monday") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="lbltues" runat="Server" Text='<%#Eval("tuesday") %>' /> 
       </td> 
      </tr> 
     </ItemTemplate> 
    </asp:ListView> 

И в вашем vb.net следующее:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    Dim table As New DataTable 

    ' columns in the DataTable. 
    table.Columns.Add("Monday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Tuesday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Wednesday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Thursday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Friday", System.Type.GetType("System.Int32")) 
    ' rows with those columns filled in the DataTable. 
    table.Rows.Add(1, 2005, 2000, 4000, 34) 
    table.Rows.Add(2, 3024, 2343, 2342, 12) 
    table.Rows.Add(3, 2320, 9890, 1278, 2) 
    table.Rows.Add(4, 3420, 1234, 4321, 89) 
    table.Rows.Add(5, 3240, 6600, 1100, 56) 
    table.Rows.Add(6, 4320, 1100, 3243, 23) 
    table.Rows.Add(7, 4540, 7645, 4324, 56) 

    Me.table.DataSource = table 
    Me.table.DataBind() 
End Sub 

В ASCX, поместите этот код в методе, и называют его в Page_Load

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    BindData() 
End Sub 

Private Sub BindData() 
    Dim table As New DataTable 

    ' columns in the DataTable. 
    table.Columns.Add("Monday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Tuesday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Wednesday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Thursday", System.Type.GetType("System.Int32")) 
    table.Columns.Add("Friday", System.Type.GetType("System.Int32")) 
    ' rows with those columns filled in the DataTable. 
    table.Rows.Add(1, 2005, 2000, 4000, 34) 
    table.Rows.Add(2, 3024, 2343, 2342, 12) 
    table.Rows.Add(3, 2320, 9890, 1278, 2) 
    table.Rows.Add(4, 3420, 1234, 4321, 89) 
    table.Rows.Add(5, 3240, 6600, 1100, 56) 
    table.Rows.Add(6, 4320, 1100, 3243, 23) 
    table.Rows.Add(7, 4540, 7645, 4324, 56) 

    Me.table.DataSource = table 
    Me.table.DataBind() 
End Sub 
+1

Разместите мой код на своей странице. Я изменил идентификаторы, и я проверил свой код на своем веб-сайте тестирования, и он работает. – Mez

+1

@mali ты справился? – Mez

+1

Попробуйте создать новый сайт, добавив новую страницу по умолчанию и вставив мои .ASPX и .ASPX.VB соответственно. Вы должны получить его довольно легко. – Mez

Смежные вопросы