asp.net网格视图数据绑定没有数据库

时间:2017-11-06 03:58:56

标签: c# asp.net

我是asp.net和c#的初学者。我想通过在代码后面硬编码将图像和名称绑定到gridview而不使用任何数据库。 我试过如下,但这些值没有绑定到Gridview1。谁能告诉我哪里出错了?

<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 个答案:

答案 0 :(得分:4)

在后台,你可以创建一个新的DataTable:

DataTable dt = new DataTable();

然后,您可以通过dt.Rowsdt.Columns方法添加数据列和行,然后设置:

DataGridView.ItemsSource = dt.defaultview;

希望您觉得这很有帮助。

答案 1 :(得分:0)

您可以将所有对象绑定到datagrid。

datagrid.DataSource = object; datagrid.DataBind();