如何在GridView中填充选定的列并从后面的代码更新?

时间:2012-09-28 06:39:54

标签: c# asp.net gridview

我有一个GridView1,我从后面的代码绑定。 GridView中的一列取决于Label1.Text,如下所示:

SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name, " + Label1.Text + " FROM Home_Profile_Master", con);
SqlDataAdapter da = new SqlDataAdapter(comd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();

相同的aspx代码是:

<asp:TemplateField HeaderText="Location_Profile_Name" 
SortExpression="Location_Profile_Name">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" 
Text='<%# Bind("Location_Profile_Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Home_Profile" SortExpression="Label10">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Home_Profile") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Home_Profile") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>

我在aspx页面中收到错误: DataBinding:'System.Data.DataRowView'不包含名为'Home_Profile'的属性。

我无法弄清楚错误是什么。请帮助......!谢谢。

2 个答案:

答案 0 :(得分:1)

你应该在datatable中有Home Profile列试试这个

 SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name,Home_Profile, " + Label1.Text + " FROM Home_Profile_Master", con);

答案 1 :(得分:1)

你错过了查询中的'Home_Profile'。

SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name," + Label1.Text + " as Home_Profile FROM Home_Profile_Master", con);