类定义了Datatable,如何保持row [0]不变?

时间:2014-04-23 03:51:25

标签: c# dataset rows

我在这样的表格配置中添加行,我想要的任何形式

            DataRow row2 = DataAccess.Instance.configs.NewRow();
            row2["Nome"] = "abrirficheiro";
            row2["Valor"] = Convert.ToString(Variables.abrirficheiro);
            DataAccess.Instance.configs.Rows.Add(row2);

但我想保持指数0(第一个)的行不受影响,不知道它是如何完成的? 编辑:我在过去的一个小时里一直在努力,仍然没有成功

表类代码就像这样

public sealed class DataAccess
{
    static readonly DataAccess instance = new DataAccess();


    //**adicionar tabelas aqui
    public DataTable configs { get; private set; }


    // Explicit static constructor to tell C# compiler
    // not to mark type as beforefieldinit
    static DataAccess()
    {
    }

    DataAccess()
    {

        this.configs = new DataTable("configs");


        TabelasSET.Tables.Add("configs");

        configs.Columns.Add("Nome");
        configs.Columns.Add("Valor");
    }

    public static DataAccess Instance
    {
        get
        {
            return instance;
        }
    }
}

解决:用这种方式修改代码

            DataRow row2 = DataAccess.Instance.configs.NewRow();
            row2["Nome"] = "abrirficheiro";
            row2["Valor"] = Convert.ToString(Variables.abrirficheiro);
            DataAccess.Instance.configs.Rows.InsertAt(row2, 2);

            DataAccess.Instance.configs.Rows.RemoveAt(1);


            //second set
            DataRow row3 = DataAccess.Instance.configs.NewRow();
            row3["Nome"] = "mantergravacao";
            row3["Valor"] = Convert.ToString(Variables.mantergravacao);
            DataAccess.Instance.configs.Rows.InsertAt(row3, 3);

            DataAccess.Instance.configs.Rows.RemoveAt(2);

依此类推,基本上,你必须首先插入它,然后删除,我确定还有其他方法,但这已经完美无缺地工作

2 个答案:

答案 0 :(得分:2)

  DataAccess.Instance.configs.Rows.InsertAt(row2,1)

答案 1 :(得分:1)

尝试这个

DataRow row2 = DataAccess.Instance.configs.NewRow();
row2["Nome"] = "abc";
row2["Valor"] = "123";
DataAccess.Instance.configs.Rows.InsertAt(row2, 1);


DataRow row2 = DataAccess.Instance.configs.NewRow();
row2["Nome"] = "zyx";
row2["Valor"] = "789";
DataAccess.Instance.configs.Rows.InsertAt(row2, 2);