我在这样的表格配置中添加行,我想要的任何形式
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);
依此类推,基本上,你必须首先插入它,然后删除,我确定还有其他方法,但这已经完美无缺地工作
答案 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);