Pergunta

Oi eu quero adicionar um datarow que im recebendo de volta a partir de uma tabela de dados para uma nova tabela de dados

Esta é a im código usando:

foreach (DataRow dr1 in dt.Rows)
{
  string AptType = dr1["AppointmentType"].ToString();
  if (AptType == "FreeTime")
  {
    dt2.ImportRow(dr1);
  }
}
RadGrid2.DataSource = dt2;
reader.Close();
conn.Close();

O problema é que quando eu, em seguida, ir para executar a página com a tabela nele im recebendo um erro datakey e que uma das colunas is not sendo reconhecido

Agradecemos antecipadamente

Foi útil?

Solução

Será que as duas tabelas de dados têm o mesmo esquema? Esses erros podem ser lançada se eles não corresponderem colunas, tipos de dados, ou chaves.

Outras dicas

Você deve usar digitado TableDataAdapters, eu iria fazer a sua vida muito mais fácil ...

Isto é muito fácil de fazer e de entender.

Siga este tutorial TableDataAdapters e tabelas de dados fortemente tipado

Uma vez que você entender o conceito, você deve fazer algo como isto:

MyTypedTableAdapter tableAdapter = new MyTypedTableAdapter();
    MyTypedDataTable dt = tableAdapter.GetData();
    foreach (MyTypedDataRow row in dt.Rows)
    {
        string AptType = row.AppointmentType;
        if (AptType == "FreeTime")
        {
            dt2.ImportRow(row);
        }
    }
    RadGrid2.DataSource = dt2;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top