可以用SqlDataAdapter填充SqlDataSource

本文关键字:填充 SqlDataSource SqlDataAdapter | 更新日期: 2023-09-27 18:12:24

我目前有这个代码填充ASP。. NET gridview .

 protected void bindGridView()
    {
        SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString);
        SqlCommand cmd = sqlConn.CreateCommand();
        cmd.CommandText = "SELECT id AS 'Member ID', name AS Name, age AS Age, sympton AS Sympton, phone AS Phone, nirc AS NIRC, address AS Address FROM tbl_customer_profile WHERE id = @id";
        cmd.Parameters.AddWithValue("@id", txtSearchID.Text);
        DataTable dtSearchResult = new DataTable();
        SqlDataAdapter daSearchResult = new SqlDataAdapter();
        try
        {
            sqlConn.Open();
            daSearchResult.SelectCommand = cmd;
            daSearchResult.Fill(dtSearchResult);
            gridSearchResult.DataSource = dtSearchResult;
            gridSearchResult.DataBind();
        }
        catch (SqlException ex)
        {
            lblStatus.Text = ex.Message;
        }
        finally
        {
            sqlConn.Close();
        }
    }

但是我将失去网格的选择,排序,分页功能。所以我在想,如果我能填充到SqlDataSource而不是Datatable,然后绑定到Gridview,我就不必手动处理选择,排序等?

但是我不能像dasearchresult。fill (sqlDataSource1);

有什么解决办法吗?

可以用SqlDataAdapter填充SqlDataSource

有点像Neeraj说的,你可以直接绑定到一个gridview与一个SqlDataSource。你不需要掌握所有的管道代码。

在asp.net

中是这样的
      <asp:GridView ID="grid" runat="server" DataSourceID="source"></asp:GridView>
      <asp:SqlDataSource ID="source" runat="server"></asp:SqlDataSource>

c#

        SqlDataSource source =new SqlDataSource();
        GridView grid = new GridView();
        grid.DataSource = s;
        grid.DataBind();