【问题标题】:Asp.net grid view bind to dynamic select queryAsp.net 网格视图绑定到动态选择查询
【发布时间】:2014-10-01 19:06:25
【问题描述】:

我想从后面的代码中传递 sql select 查询,并基于该查询,数据应该自动填充到网格视图中。选择查询将有所不同,即它可以选择任何表或视图。我的代码如下。

代码隐藏

Protected void ExecuteButton_Click(object sender, EventArgs e)
{
   string sql = SqlQueryTextBox.Text;
   SqlDataSource1.SelectCommand = sql;
   GridView1.Databind();
}

Asp 标记

<asp:GridView ID="GridView1" runat="server"
    DataSourceID="SqlDataSource1" AutoGenerateColumns="true">

</asp:GridView> 

但网格视图中没有加载任何内容。到目前为止,我只使用网格视图来绑定单个表及其列。我的逻辑有什么错误吗?如何用动态数据填充网格?

【问题讨论】:

    标签: c# asp.net gridview datagridview


    【解决方案1】:

    这对我来说很好......

    <asp:SqlDataSource ID="SqlDataSource1"  runat="server" ConnectionString="Data Source=*******Initial Catalog=*******;Persist Security Info=True;User ID=*******;Password=*******" ></asp:SqlDataSource>
    <div>
        <asp:TextBox ID="SqlQueryTextBox" runat="server" ></asp:TextBox>
        <asp:Button ID="ExecuteButton"  OnClick="ExecuteButton_Click" runat="server" Text="Execute"/>
    </div>
    <div>
        <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="true" />
    </div>
    

    ..

    protected void ExecuteButton_Click(object sender, EventArgs e)
    {
    SqlDataSource1.SelectCommand = SqlQueryTextBox.Text;
    GridView1.DataBind();
    }
    

    附言。我使用“SELECT * FROM information_schema.tables”作为我的选择语句

    我认为您需要检查您的连接字符串。然后回复我们。

    【讨论】:

      【解决方案2】:
      string sql = SqlQry.Text;
      SqlDataSource1.SelectCommand = sql;
      SqlDataSource1 .Select (DataSourceSelectArguments .Empty );
      Gv_1.DataBind();
      

      【讨论】:

      • 我认为当您对您的意图添加一些解释时,这对 OP 和其他访问者会更有帮助。
      • 提问者动态添加查询,因此在selectcommand绑定到sqldatasource然后绑定到gridview之后
      猜你喜欢
      • 1970-01-01
      • 2021-12-02
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多