2013-02-25 3 views
0

Je suis nouveau sur ASP.net et je voudrais créer par programmation un composant ListView dynamique. J'ai trouvé des exemples sur la façon de faire cela pour Gridview et Datatable mais pas Listview. C'est possible? Est-ce que quelqu'un connaît un bon tutoriel?Créer une liste par programme dans asp.net

+0

Veuillez publier le lien d'exemple de 'Gridview et Datatable', afin que nous sachions exactement ce que vous demandez. – Win

Répondre

2

Essayez cette

private void CreateMyListView() 
{ 
    // Create a new ListView control. 
    ListView listView1 = new ListView(); 
    listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200)); 
    // Set the view to show details. 
    listView1.View = View.Details; 
    // Allow the user to edit item text. 
    listView1.LabelEdit = true; 
    // Allow the user to rearrange columns. 
    listView1.AllowColumnReorder = true; 
    // Display check boxes. 
    listView1.CheckBoxes = true; 
    // Select the item and subitems when selection is made. 
    listView1.FullRowSelect = true; 
    // Display grid lines. 
    listView1.GridLines = true; 
    // Sort the items in the list in ascending order. 
    listView1.Sorting = SortOrder.Ascending; 

    //Creat columns: 
    ColumnHeader column1 = new ColumnHeader(); 
    column1.Text = "Customer ID"; 
    column1.Width = 159; 
    column1.TextAlign = HorizontalAlignment.Left; 

    ColumnHeader column2 = new ColumnHeader(); 
    column2.Text = "Customer name"; 
    column2.Width = 202; 
    column2.TextAlign = HorizontalAlignment.Left; 

    //Add columns to the ListView: 
    listView1.Columns.Add(column1); 
    listView1.Columns.Add(column2); 


    // Add the ListView to the control collection. 
    this.Controls.Add(listView1); 
} 

Ou un coup d'oeil à ce Example

Imports System 
Imports System.Drawing 
Imports System.Windows.Forms 

Public Class listview 
Inherits Form 

Friend WithEvents btnCreate As Button 

Public Sub New() 
    Me.InitializeComponent() 
End Sub 

Private Sub InitializeComponent() 
    btnCreate = New Button 
    btnCreate.Text = "Create" 
    btnCreate.Location = New Point(10, 10) 

    Me.Controls.Add(btnCreate) 
    Text = "Countries Statistics" 
    Size = New Size(450, 245) 
    StartPosition = FormStartPosition.CenterScreen 
End Sub 

Private Sub btnCreate_Click(ByVal sender As System.Object, _ 
         ByVal e As System.EventArgs) Handles btnCreate.Click 

    Dim lvwCountries As ListView = New ListView 
    lvwCountries.Location = New Point(10, 40) 
    lvwCountries.Width = 420 
    lvwCountries.Height = 160 

    Controls.Add(lvwCountries) 

End Sub 

Public Shared Sub Main() 
    Application.Run(New Exercise) 
End Sub 

End Class 
+1

C'est Windows Forms, n'est-ce pas? Je suppose que la question concerne les formulaires web ... – Faiz

1

idée de base de la façon d'aborder cette tâche. Les concepts clés sont les mêmes qu'un GridView exigerait.

1) Vous avez besoin quelque part sur la page pour mettre le ListView - un récipient pour elle.

2) Ce besoin de conteneurs à terme sur le serveur, de sorte que votre code C# (que le serveur évalue) peut ajouter le ListView à lui. Deux exemples de conteneurs que vous pouvez utiliser: un Panel et un tag standard div avec la propriété runat=server.

3) Choisissez lorsque le code pour créer le ListView sera appelé et comment. Je vous recommande de le définir comme une méthode et l'appeler de quelque événement vous voulez par exemple:

protected void Page_Load(object sender, EventArgs e) 
{ 
    // Call your method here so the ListView is created 
    CreateListView(); 
} 

private void CreateListView() 
{ 
    // Code to create ListView here 
} 

4) Utilisez ci-dessous le code dans la méthode ci-dessus pour créer le ListView et l'ajouter au récipient comme ceci:

var myListView = new ListView(); 
containerName.Controls.Add(myListView); 

Vous devrez ajouter à propriétés du ListView pour qu'il soit esthétique, au-dessus de la liaison de données évidente.

Le code trouvé sur this page a quelques propriétés d'exemple que vous voudrez probablement utiliser.

Questions connexes