C#DataTable返回空白行

你好,我要从一个来自会话变量的数据表中获取数据,并尝试将某些数据转储到新数据表中,但是新数据表返回空值?为空表示新表中存在行。即,我的gridview返回几个空白行?不确定字符串变量发生了什么?

string date = DateTime.Now.ToShortDateString();
        if (Session["MyData"] != null)
        {
            DataTable dt = new DataTable();
            dt = (DataTable)Session["MyData"];

            DataTable newdt = new DataTable();

            newdt.Columns.Add(new DataColumn("studentName"));
            newdt.Columns.Add(new DataColumn("inter"));
            newdt.Columns.Add(new DataColumn("CO"));
            newdt.Columns.Add(new DataColumn("teacher"));
            newdt.Columns.Add(new DataColumn("date"));
            newdt.Columns.Add(new DataColumn("desc"));
            DataRow newdr;
            foreach (DataRow row in dt.Rows)
            {
                name = row["nm"].ToString();
                term = row["term"].ToString();
                Mark = row["Mark"].ToString();
                period = row["period"].ToString();
                CN = row["CN"].ToString();
                CO = row["CO"].ToString();
                PID = row["PID"].ToString();
                //ADD TO NEW TABLE
                newdr = newdt.NewRow();
                name = newdr["studentName"].ToString();
                dlInter.SelectedText = newdr["inter"].ToString();
                CO = newdr["CO"].ToString();
                teacher = newdr["teacher"].ToString();
                date = newdr["date"].ToString();
                LabelDescript.Text = newdr["desc"].ToString();
                newdt.Rows.Add();
            }

            Repeater1.DataSource = newdt;
            Repeater1.DataBind();
            GridView1.DataSource = newdt;
            GridView1.DataBind();
liyazhao 回答:C#DataTable返回空白行

这行是您的问题:

newdt.Rows.Add();

这将添加一个EMPTY行,因为对不带DataRow或对象数组的Add()的调用被解释为添加不带任何值的行。
解决方法很简单

newdt.Rows.Add(newdr);

另外,加法前的代码是错误的,因为您正在反转等号周围的变量

newdr["studentName"] = name;
newdr["inter"] = dlInter.SelectedText;
newdr["CO"] = CO;
newdr["teacher"] = teacher
newdr["date"] = date;
newdr["desc"] = LabelDescript.Text;
本文链接:https://www.f2er.com/3062008.html

大家都在问