ASP.NET使用Gridview显示不出数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET使用Gridview显示不出数据相关的知识,希望对你有一定的参考价值。
代码是
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=JOHN-PC;Initial Catalog=bookshop;User ID=sa;Password=123456;";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM [tb_Login]";
cmd.Connection = con;
con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
sda.Fill(ds, "tb_Login");
con.Close();
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
运行结果是
表里面是数据的,不是空白的
string sql = "SELECT BarCode, BookName, BookAuthor, BookConcern, Pirce, BookNumber, BookColumn, BookRow, Warehouse, Discount FROM BookEntry WHERE " + searchCondition + " LIKE '%" + stockManageSearchName.Text + "%'";
SqlConnection sc = new SqlConnection(connection);
sc.Open();
SqlDataAdapter sda = new SqlDataAdapter(sql, sc);
DataTable table = new DataTable();
sda.Fill(table);
stockManageResult.DataSource = table;
sc.Close();
这是我自己程序用的一段链接数据库的代码,你可以参考下。追问
你这里没有把数据显示的
追答你直接用我这个肯定没有数据显示,这个只是给你参考跟数据库连接的方式,这个是按照我的数据库连接的,你得把连接字符串换成你的,相应的查询的表名也换成你的才行啊。
参考技术A 是不是数据库连接失败了。追问怎么测试自己的数据库连接失败?我用try catch是没有问题的
Gridview 分页 ASP.NET 与 Gridview 外部的分页器面板
【中文标题】Gridview 分页 ASP.NET 与 Gridview 外部的分页器面板【英文标题】:Gridview Paging ASP.NET with Pager Panel outside Gridview 【发布时间】:2014-09-16 20:23:14 【问题描述】:这是我第一次使用 ASP.NET 开发网站。
我想在具有分页功能的 GridView 中显示我的数据库中的数据,我可以使用 OnPageIndexChanging="GridView1_PageIndexChanging"
来实现它,但我想使用自己的寻呼机,所以问题是
“如何将我的寻呼机(图片中的右下角)链接到 gridview 而不是由 ASP.NET 生成的寻呼机”
图片:
这是我在 aspx 中的代码
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" CssClass="table table-bordered table-condensed table-striped table-primary table-vertical-center"
PageSize="3" AllowPaging="True"
OnPageIndexChanging="GridView1_PageIndexChanging">
<Columns>
<asp:BoundField DataField="UNIT_ID" HeaderText="รหัส" SortExpression="unitid">
<HeaderStyle CssClass="center" />
<ItemStyle Width="10%" CssClass="center" />
</asp:BoundField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
cs 中的代码
public partial class _Default : Page
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
bindGridView();
protected void bindGridView()
string sqltxt = "select * from drug_units"; //where UNIT_ID =:unitid";
CommandData comm = new CommandData();
comm.SetCommandText(sqltxt);
//comm.AddInputParameter("unitid", "5");
List<DrugsUnit> dy = new List<DrugsUnit>();
comm.ExecuteNonQuery();
dy = comm.ExecuteToList<DrugsUnit>();
GridView1.DataSource = dy;
/*BoundField boundField = new BoundField();
boundField.DataField = "UNIT_ID";
boundField.HeaderText = "ID";
boundField.SortExpression = "ID";
boundField.HeaderStyle.CssClass = "center";
boundField.ItemStyle.CssClass = "center";
GridView1.Columns.Add(boundField);*/
GridView1.DataBind();
GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
GridView1.PageIndex = e.NewPageIndex;
bindGridView();
【问题讨论】:
您可以通过中继器使用外部寻呼机,请参阅[这篇文章][1] [1]:***.com/questions/9534463/gridview-external-paging 【参考方案1】:protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.Pager)
upGridPager.Update();
e.Row.SetRenderMethodDelegate(new RenderMethod((w, r) =>
e.Row.SetRenderMethodDelegate(null);
using (var ms = new StringWriter())
using (var writer = new HtmlTextWriter(ms))
e.Row.RenderControl(writer);
GridPager.InnerHtml = "<table>" + ms.ToString() + "</table>";
));
aspx
可能看起来像这样(在您的网格之外)
<asp:UpdatePanel ID="upGridPager" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div runat="server" id="GridPager" />
</ContentTemplate>
</asp:UpdatePanel>
【讨论】:
以上是关于ASP.NET使用Gridview显示不出数据的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net C# 使用 Javascript 将数据从 gridview 显示到 TextBox
从 ftp 在 gridview 上显示数据 查看更多:C#ASP.NET
如何使用 C# 从 ASP.NET 中的 SQL Server 数据库中检索和显示 GridView 中的值
ASP.net .FindControl() 和 GridView 返回 null