Как добавить столбцы заголовка в gridview на основе SQL-запроса ? ASP.NET с#
У меня есть gridview.Я хочу динамически отображать результат запроса в заголовке gridview (столбцы).Заголовок отображается на основе SQL-запроса. Вот мой SQL-запрос USE db_compiler SELECT Column_Name FROM tbl_field WHERE Table_Name='pak' for example it this return rows id, name, city then i want to these shows in GridView header. Как я могу это сделать
Что я уже пробовал:
Aspx-файл
<asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server"> <form id="form" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" onrowdatabound="GridView1_RowDataBound"> </asp:GridView> <asp:Button ID="Button1" runat="server" OnClick="load" Text="Button" /> </form> </asp:Content>
ASPX. CS
public void load(object sender, EventArgs e) { //string tbl_name = Session["value"].ToString(); //string tbl_name = "new"; string query = "USE db_compiler SELECT Column_Name FROM tbl_field WHERE Table_Name='pak'"; SqlCommand cmd = new SqlCommand(query, cnn); DataTable dt = new DataTable(); SqlDataAdapter adp = new SqlDataAdapter(cmd); DataTable table = new DataTable(); cnn.Open(); cmd.ExecuteNonQuery(); adp.Fill(dt); for (int i = 0; i < query.Count(); i++) { DataColumn dc = new DataColumn(dt.Rows[i].ToString()); } DataRow r = table.NewRow(); GridView1.DataSource = table; GridView1.DataBind(); cnn.Close(); }
Это дает мне ошибку
A column named 'System.Data.DataRow' already belongs to this DataTable.