我的SQL Server数据库中有两个表(一个用于添加主题,另一个用于添加基于类在这些主题中获得的标记)。我想像excel条目一样创建标记条目,所以我在gridview的第一列中获取学生姓名,并在gridview的其他列中填充文本框以输入标记,如下所示:
现在的问题是,如果10年级的学生'A'选择了4个科目,而5年级的学生'B'选择了5个科目,我该如何实施标记录入模块,说学生'A'只有gridview和学生'B'中的4个文本框和主题列只有5个文本框。
这是我的Aspx标记:
<asp:GridView ID="grdMarksEntry" GridLines="None" runat="server"
AutoGenerateColumns="false"
CssClass="table table-hover table-responsive table-bordered" ShowFooter="true">
<Columns>
<asp:TemplateField HeaderText="Sl. No.">
<ItemTemplate>
<%#Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="name" HeaderText="Name of the student" />
<asp:TemplateField HeaderText="Subject 1">
<ItemTemplate>
<asp:TextBox ID="txtSub1" runat="server" CssClass="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 2">
<ItemTemplate>
<asp:TextBox ID="txtSub2" runat="server" CssClass="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 3">
<ItemTemplate>
<asp:TextBox ID="txtSub3" runat="server" CssClass="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 4">
<ItemTemplate>
<asp:TextBox ID="txtSub4" runat="server" CssClass="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 5">
<ItemTemplate>
<asp:TextBox ID="txtSub5" runat="server" CssClass="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 6">
<ItemTemplate>
<asp:TextBox ID="txtSub6" runat="server" CssClass="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我的c#代码背后:
private void bindgrd()
{
string constr = ConfigurationManager.ConnectionStrings["DatabaseConnect"].ConnectionString;
using (SqlConnection StudMarksCon = new SqlConnection(constr))
{
using (SqlCommand StudMarksCmd = new SqlCommand("select distinct name from studentregistration where class='" + drpClass.SelectedItem.ToString() + "' and div='" + drpDiv.SelectedItem.ToString() + "'"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
StudMarksCmd.Connection = StudMarksCon;
sda.SelectCommand = StudMarksCmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
grdMarksEntry.DataSource = dt;
grdMarksEntry.DataBind();
}
}
}
}
答案 0 :(得分:0)
您需要根据学生选择的科目数动态创建文本框数。