如何在 ASP 中获取数据库记录时将自定义数据字段添加到我的网格视图

本文关键字:字段 数据 自定义 添加 视图 网格 我的 ASP 获取 记录 数据库 | 更新日期: 2023-09-27 18:37:04

我正在用名为Students的数据库表的结果填充asp中的网格。 学生表包含"已获得的分数"和"可能"的分数列。 我需要根据积分的百分比计算字母等级赚取/积分可能。 我在一个名为Grades的班级中这样做。 如何获取当前学生的积分和积分可能的值,然后将计算出的字母等级添加到网格中?

这是我的方法:

 protected void Page_Load(object sender, EventArgs e)
        {
            string connstring;
            connstring = ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString;
            SqlConnection conn = new SqlConnection(connstring);
            SqlCommand cmd = new SqlCommand("GetStudents", conn);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            conn.Open();
            DataSet ds = new DataSet();
            adapter.Fill(ds, "dbo.Students");
            DataTable dt = new DataTable();
            dt.Columns.Add("letterGrade", typeof(string));
            Grades studentGrade = new Grades();
            studentGrade.pointsEarned = ???;
            studentGrade.pointsPossible = ???;
            string studentLetterGrade = studentGrade.calculate();
            //How do I add studentLetterGrade as the letterGrade column?
            StudentGrid.DataSource = ds;
            StudentGrid.DataBind();
            conn.Close();
            conn.Dispose();
        }

这是我的网格:

<asp:SqlDataSource ID="GetStudents" runat="server" ConnectionString="<%$ ConnectionStrings:dbConn %>" SelectCommand="dbo.GetStudents" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
        <asp:GridView ID="StudentGrid" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:CommandField ShowSelectButton="False" />
                <asp:BoundField DataField="studentId" HeaderText="ID" />
                <asp:BoundField DataField="firstName" HeaderText="First Name" />
                <asp:BoundField DataField="lastName" HeaderText="Last Name" />
                <asp:BoundField DataField="semester" HeaderText="Semester" />
                <asp:BoundField DataField="semesterYear" HeaderText="Year" />
                <asp:BoundField DataField="letterGrade" HeaderText="Grade" />
            </Columns>
        </asp:GridView>

如何在 ASP 中获取数据库记录时将自定义数据字段添加到我的网格视图

有很多

方法可以做到这一点,最简单的方法是计算数据库存储过程本身的百分比,然后检索并绑定到网格。

否则,如果不希望修改当前存储过程,并希望在绑定期间从代码隐藏进行修改,则必须使用 GridView RowDatabound 事件,并逐个绑定所有列,并根据需要根据条件修改值。