C# 名称为';单击复选框';在所选数据源上找不到

C# 名称为';单击复选框';在所选数据源上找不到,c#,asp.net,gridview,C#,Asp.net,Gridview,当我改变DropDownSelected索引时,我得到了上面的错误 AutoGeneratedColumn属性为true。手动添加列时,会显示以下错误: {在所选数据源上找不到名为“单击复选框”的字段或属性。} 当我删除手动创建的列时,代码运行得非常完美 index.aspx.cs代码: protected void DropDownListDoctor_SelectedIndexChanged(object sender, EventArgs e) { string query = "

当我改变DropDownSelected索引时,我得到了上面的错误

AutoGeneratedColumn属性为true。手动添加列时,会显示以下错误:

{在所选数据源上找不到名为“单击复选框”的字段或属性。}

当我删除手动创建的列时,代码运行得非常完美

index.aspx.cs代码:

protected void DropDownListDoctor_SelectedIndexChanged(object sender, EventArgs e)
{
    string query = "SELECT * FROM Doctor WHERE Doc_Id=" + DropDownListDoctor.SelectedValue + "";
    DataTable dt = new DataTable();
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
    conn.Open();
    SqlDataAdapter da = new SqlDataAdapter(query, conn);
    da.Fill(dt);
    GridViewDoctorDetail.DataSource = dt;
    GridViewDoctorDetail.DataBind();
}
index.aspx代码:

<form id="form1" runat="server">
<div>
<label>Select Doctor Name</label>
<br />
    <asp:DropDownList ID="DropDownListDoctor" runat="server" AutoPostBack="True" 
        DataSourceID="Doctor_DataSource" DataTextField="DocName" 
        DataValueField="Doc_Id" 
        onselectedindexchanged="DropDownListDoctor_SelectedIndexChanged">
    </asp:DropDownList>
    <asp:SqlDataSource ID="Doctor_DataSource" runat="server" 
        ConnectionString="Data Source=IM-82B70624D72D;Initial Catalog=AppointmentScheduler;Persist Security Info=True;User ID=sa;Password=za3452432760za" 
        ProviderName="System.Data.SqlClient" 
        SelectCommand="SELECT [Doc_Id], [DocName] FROM [Doctor]">
    </asp:SqlDataSource>
    <br />
    <label>Doctor Detail</label>
    <br />
    <asp:GridView ID="GridViewDoctorDetail" runat="server" CellPadding="4" 
        ForeColor="#333333" GridLines="None" Width="339px">
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <Columns>
            <asp:CheckBoxField DataField="Click on Checkbox" HeaderText="Checkbox" 
                SortExpression="Click on Checkbox" />
        </Columns>
        <EditRowStyle BackColor="#999999" />
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#E9E7E2" />
        <SortedAscendingHeaderStyle BackColor="#506C8C" />
        <SortedDescendingCellStyle BackColor="#FFFDF8" />
        <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
    </asp:GridView>
    <asp:SqlDataSource ID="DoctorDetail_SqlDataSource" runat="server" 
        ConnectionString="Data Source=IM-82B70624D72D;Initial Catalog=AppointmentScheduler;Persist Security Info=True;User ID=sa;Password=za3452432760za" 
        ProviderName="System.Data.SqlClient" 
        SelectCommand="SELECT * FROM [Doctor] WHERE ([Doc_Id] = @Doc_Id)">
        <SelectParameters>
            <asp:ControlParameter ControlID="DropDownListDoctor" DefaultValue="1" 
                Name="Doc_Id" PropertyName="SelectedValue" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
</div>
</form>

选择医生姓名


医生细节

它试图将复选框绑定到数据源上的属性“单击复选框”。将CheckBoxField中的数据字段更改为文本

<asp:CheckBoxField Text="Click on Checkbox" HeaderText="Checkbox" SortExpression="Click on Checkbox" />


你的解释有点让人困惑。。。如果我理解的话,当你手动更新它时,你会得到错误,如果你不手动添加它,你会得到错误?你的
[Doctor]
表模式是什么?Doc\u Id,DocName,timening\u Id,address,ContactNo,Email,性别,年龄,资格。这是我的[医生]表模式。是的,你们说得对,当我手动添加列时,它会生成一个错误。当我添加列时,复选框已经消失。