【问题标题】:Deleting first row in DataTable删除数据表中的第一行
【发布时间】:2015-04-12 19:43:38
【问题描述】:

我试图在另一个函数中创建一个新的数据表(从另一个数据表),但没有成功

Session["Tissues"] = tableword;// I dont load them again
Session["Randomtable"] = tableword;

基本上我需要的是删除一个表中dataTable的第一行,后面有代码。

private void Question_table()
{
    if (Session["Tissues"] != null)
    {           
        DataTable table_word =  (DataTable)Session["Tissues"];
        DataTable table_random = (DataTable)Session["Randomtable"];        
        GridView3.DataSource = table_random;
        GridView3.DataBind();

             string q_name = "";
            DataRow row = table_word.Rows[0];
            if (row["name"] != null) // This will check the null values also (if you want to check).
            {
                // Do whatever you want.
                q_name = row["name"].ToString();

            }
            if (row["image"] != null) // This will check the null values also (if you want to check).
            {
                q_image = row["image"].ToString();
            }
            Next_Question(q_name, q_image, table_random);
            Label3.Text = q_name;
            Label4.Text = q_image;
            row.Delete();
            // table_word.Rows.RemoveAt(0);
           // table_word.Rows.Remove(row);
          //  table_word.Rows.Remove(table_word.Rows[0]); 
           Session["Tissues"] = table_word;

    }
}

我打电话给

Question_table();

点击图片按钮后。

问题是当我尝试只删除一个数据表的一行时,它会删除两个数据表的内容。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    由于datatablereference type 和以下语句,这意味着它们都指向单个内存,即表字的地址。

    Session["Tissues"] = tableword;// I dont load them again
    Session["Randomtable"] = tableword;
    

    因此,当您从会话中检索并删除一行时,它将从第 2 和第 2 点删除相同的数据。

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      相关资源
      最近更新 更多