【发布时间】:2014-08-30 20:48:42
【问题描述】:
我使用此代码从与 2 个表(内部联接)连接的 DataGridView 中搜索和过滤数据,但没有发生任何事情! 这是代码:
DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
string sql = @"SELECT Invoice.[InvoiceID], Invoice.[CustomerID], Invoice.[Date], Invoice.[Amount], Invoice.[Paid], Invoice.[Rest], Invoice.[PaymentType], Invoice.[Shipped], Customer.[CustomerID], Customer.[Name], Customer.[Tell], Customer.[Address], Customer.[Comment] FROM [Invoice] INNER JOIN [Customer] ON Invoice.[CustomerID] = Customer.[CustomerID]";
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RechnungConnectionString"].ConnectionString))
using (var cmd = new SqlCommand(sql, conn))
{
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
dt = new DataTable();
sda.Fill(dt);
cmd.ExecuteNonQuery();
GridView1.DataSource = dt;
GridView1.DataBind();
conn.Close();
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
DataView DV = new DataView(dt);
DV.RowFilter = string.Format("Name LIKE '%{0}%'", TextBox1.Text);
GridView1.DataSource = DV;
}
这是 Asp.net 形式的 Textbox 和 Gridview:
<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="InvoiceID" CssClass="table table-striped table-bordered" AllowSorting="true">
如果有人知道如何解决这个问题或有更好的方法在 GridView 中搜索和过滤数据,请帮助我!
【问题讨论】:
标签: c# asp.net search gridview datagridview