我有一个网格框,我想在其中填写用户名为1的数据库中的数据,并在过去24小时内添加了他们的位置。
我已经测试了SQL查询并且它工作正常,但是当尝试将数据放入网格框时没有任何反应。
以下是我在aspx.cs文件中使用的代码:
public partial class last24hours : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data Source = sql2008.net.dcs.hull.ac.uk; Initial Catalog = rde_514872; Integrated Security = True");
protected void Page_Load(object sender, EventArgs e)
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT Location FROM StaffLocation WHERE [Date and Time]>= getdate()-1 AND [Username] = '1'";
cmd.Connection = con;
DataTable dt = new DataTable();
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
gridView1是我没有使用sql源的空网格视图。
这是在aspx文件中初始化gridview的方式:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
</asp:GridView>
答案 0 :(得分:1)
您将AutoGenerateColumns设置为false。由于您还没有手动定义任何列,当然什么都不会出现。有两个修复:
将自动生成列设置为true。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" />
或手动定义列
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Location" HeaderText="Location" SortExpression="Location" />
</Columns>
</asp:GridView>