我是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();
}
答案 0 :(得分:4)
在后台,你可以创建一个新的DataTable:
DataTable dt = new DataTable();
然后,您可以通过dt.Rows
和dt.Columns
方法添加数据列和行,然后设置:
DataGridView.ItemsSource = dt.defaultview;
希望您觉得这很有帮助。
答案 1 :(得分:0)
您可以将所有对象绑定到datagrid。
datagrid.DataSource = object; datagrid.DataBind();