Hinzufügen neue Zeile Daten in gridview asp.net c#
Habe ich eine Klasse mit diesem code :
public class Customer
{
public Customer() { }
public Customer(Customer cust)
{
ID = cust.ID;
Name = cust.Name;
FatherName = cust.FatherName;
Email = cust.Email;
}
public int ID { get; set; }
public string Name { get; set; }
public string FatherName { get; set; }
public string Email { get; set; }
}
erstellt und diese Funktion lädt eine Liste mit einigen Daten:
public List<Customer> Generate_Data()
{
List<Customer> lstCustomer = new List<Customer>();
Customer customer = new Customer();
customer.ID = 1;
customer.Name = "John Cena";
customer.FatherName = "John";
customer.Email = "[email protected]";
lstCustomer.Add(new Customer(customer));
customer.ID = 2;
customer.Name = "Mokesh";
customer.FatherName = "Rajnikant";
customer.Email = "[email protected]";
lstCustomer.Add(new Customer(customer));
customer.ID = 3;
customer.Name = "Bilal Ahmad";
customer.FatherName = "Kashif";
customer.Email = "[email protected]";
lstCustomer.Add(new Customer(customer));
customer.ID = 4;
customer.Name = "Chin Shang";
customer.FatherName = "Shang Woe";
customer.Email = "[email protected]";
lstCustomer.Add(new Customer(customer));
return lstCustomer;
}
wieder in dieser Liste zu binden mit dem raster. Der code ist :
List<Customer> lstCustomer = new List<Customer>();
lstCustomer = Generate_Data();
GridView1.DataSource = lstCustomer;
GridView1.DataBind();
Meine Fragen sind :
-
Fügte ich 4 Textfelder und eine Schaltfläche, um eine aspx-Seite mit dem Namen:
Id,Name,FatherName,Email
Wenn ich auf den button klickt, möchte ich hinzufügen, werden die neuen Werte der Textfelder zu gridview1 Zeile. Ich will hinzufügen einer Zeile in der gridview dynamisch. -
Wenn ich definiere eine leere gridview, wie kann ich meine textbox-Werte gridview Zeilen? Ist das nicht die gleiche Methode mit Frage 1 ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
ASPX:
Code hinter:
Aktualisiert!
Müssen Sie zum bestehen Ihrer Sammlung während der postback. Je nachdem, wie groß Ihre Sammlung ist, können Sie prüfen, halten es in viewstate, Sitzung, etc.
So, wenn der Benutzer füllt die Textboxen mit Daten und initiiert einen postback, können Sie erstellen Sie ein neues customer-Objekt und fügt es der bestehenden Sammlung. Dann binden der Daten an das Netz.
Hinweis: Sie müssen die
[Serializable]
- Attribut auf IhreCustomer
Klasse.Sie konnte einfach
AutoGenerateInsertButton="True"
zu den<asp:GridView>
tag.So, ich würde es so machen. Erstens, ich würde den Anwendungsbereich der lstCustomer, so dass es weiterhin durch postbacks.
Dann in den button-event-handler, ich würde etwas schreiben wie dieses
Dieser hilft auch, wenn Sie wollen, lassen Sie die Benutzer führen einige Dinge, auf die Daten (oder wollen Sie beibehalten, um die Datenbank oder so).