2017-11-06 1 views
0

Ich bin ein Anfänger in asp.net und C#. Ich möchte Bild und Name an Gridview ohne irgendeine Datenbank binden, indem ich sie im Code fest kodiere. Ich habe versucht, wie unten, aber diese Werte sind nicht an Gridview1 gebunden. Kann mir jemand sagen, wo es schief geht?asp.net Rasteransicht Datenbindung ohne Datenbank

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" > 
<Columns> 
      <asp:BoundField DataField="Profile_Name" HeaderText="Profile_Name" /> 
      <asp:BoundField DataField="ImageUrl" HeaderText="ImageUrl" /> 
</Columns> 

protected GridView GridView1; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!this.IsPostBack) 
    { 
     this.loadTable(); 
    } 
} 
private void loadTable() 
{ 
    DataSet ds = new DataSet(); 
    DataTable dt; 
    DataRow dr; 
    DataColumn pName; 
    DataColumn pImage; 

    dt = new DataTable(); 
    pName = new DataColumn("Profile_Name", Type.GetType("System.String")); 
    pImage= new DataColumn("ImageURL", Type.GetType("System.String")); 

    dt.Columns.Add(pName); 
    dt.Columns.Add(pImage); 

    dr = dt.NewRow(); 
    dr["Profile_Name"] = "John Cena"; 
    dr["ImageUrl"] = "C:\\Users\\Desktop\\src\\Project\\Project.Web.WebForms\\Content\\Images\\Friends-PNG-Photos.png"; 

    dt.Rows.Add(dr); 
    dr = dt.NewRow(); 
    dr["Profile_Name"] = "Hannah Ray"; 
    dr["ImageUrl"] = "C:\\Users\\Desktop\\src\\Project\\Project.Web.WebForms\\Content\\Images\\Image.png"; 

    dt.Rows.Add(dr); 
    ds.Tables.Add(dt); 

    GridView1.DataSource = ds.Tables[0]; 
    GridView1.DataBind(); 
} 
+2

Sie können eine Modellklasse erstellen und 'List' oder andere Sammlungen (z. B.' List ') verwenden, wenn Sie nicht aus der Datenbank binden möchten. Hier ein Beispiel für den Einstieg: https://stackoverflow.com/questions/5517676/how-do-i-bind-a-gridview-to-a-custom-object. –

+0

Was hast du bisher versucht? Poste einen Code für Hilfe –

+0

Ich habe meine Frage mit dem, was ich früher gefolgt war, bearbeitet. Ich bin mir nicht sicher, was hier falsch läuft. – buddingengineer

Antwort

4

Im Hintergrund eine neue Datentabelle machen:

DataTable dt = new DataTable(); 

Dann können Sie Daten Spalten und Zeilen durch die dt.Rows und dt.Columns Methoden hinzufügen und dann eingestellt:

DataGridView.ItemsSource = dt.defaultview; 

Ich hoffe, dass Sie das hilfreich finden.

+0

Vielen Dank! Ich habe meine Frage mit dem, was ich früher gefolgt bin, bearbeitet. Ich bin mir nicht sicher, was hier falsch läuft. Kannst du bitte darauf hinweisen? – buddingengineer

0

Sie können alle Objekte an DataGrid binden.

datagrid.DataSource = Objekt; Datenagrid.DataBind();

+0

Verwenden Sie [Codeblock] (http://stackoverflow.com/editing-help), um Ihren Code –

+0

Dank @ Buraq Enigma enthalten. Ich habe meine Frage mit dem, was ich früher gefolgt bin, bearbeitet. Ich bin mir nicht sicher, was hier falsch läuft. Kannst du bitte darauf hinweisen? – buddingengineer

Verwandte Themen