我刚刚开始处理ASP.NET
网络表单,我创建了一个GridView
,现在只是普通GridView
。
但是当我运行页面时,它会显示在浏览器中。
我的Gridview代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" BorderColor="#FF99CC" BorderStyle="Solid">
<columns>
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
<asp:BoundField DataField="Date of Birth" HeaderText="Date of Birth" SortExpression="Date of Birth" />
<asp:BoundField DataField="Nationality" HeaderText="Nationality" SortExpression="Nationality" />
<asp:BoundField DataField="Mobile" HeaderText="Mobile" SortExpression="Mobile" />
<asp:BoundField DataField="Course" HeaderText="Course" SortExpression="Course" />
<asp:BoundField DataField="Greaduation Year" HeaderText="Greaduation Year" SortExpression="Greaduation Year" />
<asp:BoundField DataField="Major" HeaderText="Major" SortExpression="Major" />
</columns>
</asp:GridView>
我是否需要gridview的数据源?
答案 0 :(得分:3)
DataTable dt = new DataTable();
dt.Columns.Add("Name", DbType.String);
dt.Columns.Add("Gender", DbType.String);
dt.Columns.Add("Email", DbType.String);
dt.Columns.Add("DateofBirth", DbType.String);
dt.Columns.Add("Nationality", DbType.String);
dt.Columns.Add("Mobile", DbType.String);
dt.Columns.Add("Course", DbType.String);
dt.Columns.Add("GreaduationYear", DbType.String);
dt.Columns.Add("Major", DbType.String);
从数据库填写dt
中的数据,然后绑定:
GridView1.DataSource = dt;
GridView1.DataBind();
将DataField="Date of Birth"
中的空格移至DataField="DateofBirth"
答案 1 :(得分:2)
是的,您需要在代码后面设置数据源(aspx.cs)。您可以使用Page_Load
方法执行此操作:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var data = ... // code that retrieves the data here
GridView1.DataSource = data;
GridView1.DataBind();
}
}
请注意,检索数据的代码取决于您连接数据库的方式。
答案 2 :(得分:2)
是的,DataSource
需要GridView
。如果你没有在代码中绑定你的GridView,那么GridView
没有DataSource
。您可以添加以下代码
var objDataSource; // # This can be any collection or DataTable, any suitable type of your choosing
// # TODO : Generate your data into objDatasource
GridView1.DataSource = objDataSource;
GridView1.DataBind();
确保objDataSource
中的字段名称与DataField
的{{1}}值匹配
您也可以使用
进行绑定有关详情,请参阅this