nueva - datarow to datatable c#
¿Cómo crear una DataTable en C#y cómo agregar filas? (12)
¿Cómo se crea una DataTable en C #?
Me gustó esto:
DataTable dt = new DataTable();
dt.clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
¿Cómo veo la estructura de DataTable?
Ahora quiero agregar Ravi para Name
y 500 para Marks
. ¿Cómo puedo hacer esto?
Pregunta 1: ¿Cómo se crea una DataTable en C #?
Respuesta 1:
DataTable dt = new DataTable(); // DataTable created
// Add columns in your DataTable
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
Nota: No es necesario Clear()
la DataTable
después de crearla.
Pregunta 2: ¿Cómo agregar fila (s)?
Respuesta 2: Agregue una fila:
dt.Rows.Add("Ravi","500");
Agregar varias filas: use ForEach
loop
DataTable dt2 = (DataTable)Session["CartData"]; // This DataTable contains multiple records
foreach (DataRow dr in dt2.Rows)
{
dt.Rows.Add(dr["Name"], dr["Marks"]);
}
Además de las otras respuestas.
Si controla la estructura de la DataTable, hay un atajo para agregar filas:
// Supongamos que tiene una tabla de datos definida como en su ejemplo llamada dt dt.Rows.Add ("Nombre", "Marcas");
El método DataRowCollection.Add () tiene una sobrecarga que toma una matriz de param de objetos. Este método le permite pasar tantos valores como sea necesario, pero deben estar en el mismo orden en que se definen las columnas en la tabla.
Entonces, si bien esta es una forma conveniente de agregar datos de filas, puede ser peligroso su uso. Si la estructura de la tabla cambia, su código fallará.
Aquí está el código:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
DataRow _ravi = dt.NewRow();
_ravi["Name"] = "ravi";
_ravi["Marks"] = "500";
dt.Rows.Add(_ravi);
Para ver la estructura, o mejor dicho, reformularla como esquema, puede exportarla a un archivo XML haciendo lo siguiente.
Para exportar solo el esquema / estructura, hacer:
dt.WriteXMLSchema("dtSchemaOrStructure.xml");
Además, también puedes exportar tus datos:
dt.WriteXML("dtDataxml");
La forma más fácil es crear un DtaTable a partir de ahora
DataTable table = new DataTable
{
Columns = {
"Name", // typeof(string) is implied
{"Marks", typeof(int)}
},
TableName = "MarksTable" //optional
};
table.Rows.Add("ravi", 500);
Para agregar una fila:
DataRow row = dt.NewRow();
row["Name"] = "Ravi";
row["Marks"] = 500;
dt.Rows.Add(row);
Para ver la estructura:
Table.Columns
Puede escribir un liner usando DataRow.Add (params object [] values) en lugar de cuatro líneas.
dt.Rows.Add("Ravi", "500");
A medida que crea un nuevo objeto DataTable
, no parece que sea necesario Clear
DataTable
en la próxima instrucción. También puede usar DataTable.Columns.AddRange
para agregar columnas con la instrucción on. El código completo sería.
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("Name"), new DataColumn("Marks") });
dt.Rows.Add("Ravi", "500");
Puedes agregar Row en una sola línea
DataTable table = new DataTable();
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Here we add five DataRows.
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
También puede pasar una matriz de objetos, así:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
object[] o = { "Ravi", 500 };
dt.Rows.Add(o);
O incluso:
dt.Rows.Add(new object[] { "Ravi", 500 });
Tienes que agregar datarows a tu datatable para esto.
// Creates a new DataRow with the same schema as the table.
DataRow dr = dt.NewRow();
// Fill the values
dr["Name"] = "Name";
dr["Marks"] = "Marks";
// Add the row to the rows collection
dt.Rows.Add ( dr );
// Create a DataTable and add two Columns to it
DataTable dt=new DataTable();
dt.Columns.Add("Name",typeof(string));
dt.Columns.Add("Age",typeof(int));
// Create a DataRow, add Name and Age data, and add to the DataTable
DataRow dr=dt.NewRow();
dr["Name"]="Mohammad"; // or dr[0]="Mohammad";
dr["Age"]=24; // or dr[1]=24;
dt.Rows.Add(dr);
// Create another DataRow, add Name and Age data, and add to the DataTable
dr=dt.NewRow();
dr["Name"]="Shahnawaz"; // or dr[0]="Shahnawaz";
dr["Age"]=24; // or dr[1]=24;
dt.Rows.Add(dr);
// DataBind to your UI control, if necessary (a GridView, in this example)
GridView1.DataSource=dt;
GridView1.DataBind();
DataTable dt=new DataTable();
DataColumn Name = new DataColumn("Name",typeof(string));
dt.Columns.Add(Name);
DataColumn Age = new DataColumn("Age", typeof(int));`
dt.Columns.Add(Age);
DataRow dr=dt.NewRow();
dr["Name"]="Kavitha Reddy";
dr["Age"]=24;
dt.add.Rows(dr);
dr=dt.NewRow();
dr["Name"]="Kiran Reddy";
dr["Age"]=23;
dt.Rows.add(dr);
Gv.DataSource=dt;
Gv.DataBind();
DataTable dt=new DataTable();
Datacolumn Name = new DataColumn("Name");
Name.DataType= typeoff(string);
Name.AllowDBNull=false; //set as null or not the default is true i.e null
Name.MaxLength=20; //sets the length the default is -1 which is max(no limit)
dt.Columns.Add(Name);
Datacolumn Age = new DataColumn("Age", typeoff(int));`
dt.Columns.Add(Age);
DataRow dr=dt.NewRow();
dr["Name"]="Mohammad Adem"; // or dr[0]="Mohammad Adem";
dr["Age"]=33; // or dr[1]=33;
dt.add.rows(dr);
dr=dt.NewRow();
dr["Name"]="Zahara"; // or dr[0]="Zahara";
dr["Age"]=22; // or dr[1]=22;
dt.rows.add(dr);
Gv.DataSource=dt;
Gv.DataBind();