Как создать таблицу данных в C#?
У меня получилось вот так:
DataTable dt = new DataTable();
dt.clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
Как увидеть структуру DataTable?
Теперь я хочу добавить ravi для Name
и 500 для Marks
. Как я могу это сделать?
Вот код:
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);
Чтобы увидеть структуру, или, точнее, я бы перефразировал ее как схему, вы можете экспортировать ее в XML-файл, сделав следующее.
Чтобы экспортировать только схему/структуру, сделайте следующее:
dt.WriteXMLSchema("dtSchemaOrStructure.xml");
Кроме того, вы также можете экспортировать данные:
dt.WriteXML("dtDataxml");
Вы также можете передать массив объектов, как, например, так:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
object[] o = { "Ravi", 500 };
dt.Rows.Add(o);
Или даже:
dt.Rows.Add(new object[] { "Ravi", 500 });
// 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:
DataTable MyTable = new DataTable(); // 1
DataTable MyTableByName = new DataTable("MyTableName"); // 2
Добавить столбец к таблице:
MyTable.Columns.Add("Id", typeof(int));
MyTable.Columns.Add("Name", typeof(string));
Добавьте строки в DataTable метод 1:
DataRow row = MyTable.NewRow();
row["Id"] = 1;
row["Name"] = "John";
MyTable.Rows.Add(row);
Добавьте строки в DataTable Метод 2:
MyTable.Rows.Add(2, "Ivan");
Добавьте строки в DataTable метод 3 (добавить строки из другой таблицы с одинаковой структурой):
MyTable.ImportRow(MyTableByName.Rows[0]);
Добавьте строки в DataTable метод 4 (добавить строки из другой таблицы):
MyTable.Rows.Add(MyTable2.Rows[0]["Id"], MyTable2.Rows[0]["Name"]);
Добавьте строки в DataTable метод 5 (вставить строку в индексе):
MyTable.Rows.InsertAt(row, 8);
Вы можете написать один лайнер использование [Строкаданных.Добавить(params объект[] значение)][1] вместо четырех линий.
dt.Rows.Add("Ravi", "500");
Как вы создаете новый объект DataTable объект, там вроде не нужно, чтобы очистить
, объект DataTable
в следующем сообщении. Вы также можете использовать объект DataTable.Столбцы.AddRange для добавления столбцов с заявлением. Полный код будет.
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("Name"), new DataColumn("Marks") });
dt.Rows.Add("Ravi", "500");
[1]: https://msdn.microsoft.com/en-us/library/07wwak56(в=против 110).аспн
Вы можете добавить строку в одну строку
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);
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();
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();
Для этого необходимо добавить datarows в таблицу данных.
// 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 );
Самый простой способ создать DtaTable как сейчас
DataTable table = new DataTable
{
Columns = {
"Name", // typeof(string) is implied
{"Marks", typeof(int)}
},
TableName = "MarksTable" //optional
};
table.Rows.Add("ravi", 500);
В дополнение к другим ответы.
Если вы контролируете структуру объекта DataTable есть ярлык для добавления строк:
// Предположим у вас есть таблица данных, определенных как в вашем примере названной ДТ ДТ.Строк.Добавить("имя" В, С "знаки" - а);
В Datarowcollection С.Метод Add() имеет перегрузку, которая принимает массив параметров объектов. Этот метод позволяет пройти столько значений, сколько требуется, но они должны быть в том же порядке, что и столбцы определены в таблице.
Так что пока это удобный способ для добавления данных строк, это может быть рискованным для использования. Если структура таблицы изменится ваш код не удастся.
и gt;Вопрос 1: Как создать объект DataTable в C#?
Ответ 1:
DataTable dt = new DataTable(); // DataTable created
// Add columns in your DataTable
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
Примечание: там нет необходимости, чтобы "очистить" ()этот
объект DataTable` после его создания.
и gt;Вопрос 2: Как добавить строку(ы)?
Ответ 2: добавить одну строку:
dt.Rows.Add("Ravi","500");
Добавить несколько строк: петли использовать объекту
DataTable dt2 = (DataTable)Session["CartData"]; // This DataTable contains multiple records
foreach (DataRow dr in dt2.Rows)
{
dt.Rows.Add(dr["Name"], dr["Marks"]);
}