поставил что первая строка заголовок но это не помогло , а под словом пишешь строку вы имеете ввиду {-string.Spase-} написать и всё?а в чем собственно сложность? при создании блока таблица ставьте в настройках что первая строка - заголовки и пишите строку если данных нет
с чего лучше начать изучать C#?при этом заголовк никак не будет отличаться от остальных строк т.е не будет выделен цветом или жирностью какой-то итд .... обычная строка ... просто при чтении из такой таблицы ZP не будет ее возвращать в результате, она не будет участвовать в подсчете строк
с твоим кодом всё получилось,спасибо.при этом заголовк никак не будет отличаться от остальных строк т.е не будет выделен цветом или жирностью какой-то итд .... обычная строка ... просто при чтении из такой таблицы ZP не будет ее возвращать в результате, она не будет участвовать в подсчете строк
Может подскажешь, иногда у меня не срабатывает разделитель в экшене в таблицу. Сразу много строк записываю за раз и 5% примерно с ошибками. Если по одной строке записывать через шарп и лочить, то может исправит ситуацию? Проблема только с одной ячейкой, в ней много текста, всяких табуляций.заголовок это обычная строка таблицы .. её и нужно написать
например так ... это на c#
project.Tables["mytable"].AddRow("firstname"+"\t"+"lastname"+"\t"+"patronymic");
в результате запишется строка таблицы состоящая из 3-х столбцов .. по умолчанию они разделяются символом \t (табуляция)
может там в тексте разделитель встречается?Может подскажешь, иногда у меня не срабатывает разделитель в экшене в таблицу. Сразу много строк записываю за раз и 5% примерно с ошибками. Если по одной строке записывать через шарп и лочить, то может исправит ситуацию? Проблема только с одной ячейкой, в ней много текста, всяких табуляций.
Пример записи
1|2|много текста|4|5
1|2|много текста|4|5
1|2|много текста|4|5
1|2|много текста|4|5
1|2|много текста|4|5
и так неск тысяч строк.
var result = project.Lists["result"]; // список с данными для записи в таблицу ... в каждой строке данные разделены символом |
lock(SyncObjects.TableSyncer){
for(int i=0; i<result.Count; i++){
var data = result[i].Split(new string[]{"|"},StringSplitOptions.None);
project.Tables["mytable"].AddRow(data[0]+"\t"+data[1]+"\t"+data[2]+"\t"+data[3]+"\t"+data[4]);
}
}
Разделителя нету 100%, мне orka13 как раз посоветовал попробовать на шарпе и использовать другой разделитель.может там в тексте разделитель встречается?
можно и с другим разделеителем попробоватьРазделителя нету 100%, мне orka13 как раз посоветовал попробовать на шарпе и использовать другой разделитель.
var mytable = project.Tables["mytable"]; // таблица в которую записываем
mytable.ColSeparator = "~||~"; // задаем свой разделитель ячеек таблицы
var result = project.Lists["result"]; // список с данными для записи в таблицу ... в каждой строке данные так же разделены символом ~||~
lock(SyncObjects.TableSyncer){
for(int i=0; i<result.Count; i++){
var data = result[i].Split(new string[]{"~||~"},StringSplitOptions.None);
mytable.AddRow(data[0]+"~||~"+data[1]+"~||~"+data[2]+"~||~"+data[3]+"~||~"+data[4]);
}
}
Поздновато уже сегодня. Я завтра попробую, отпишу о результатах. Благодарю.можно и с другим разделеителем попробовать
А как сделать что бы ширина столбца менялась в зависимости от содержимого ячейки .а в чем собственно сложность? при создании блока таблица ставьте в настройках что первая строка - заголовки и пишите строку если данных нет
можно и с другим разделеителем попробовать
Код:var mytable = project.Tables["mytable"]; // таблица в которую записываем mytable.ColSeparator = "~||~"; // задаем свой разделитель ячеек таблицы var result = project.Lists["result"]; // список с данными для записи в таблицу ... в каждой строке данные так же разделены символом ~||~ lock(SyncObjects.TableSyncer){ for(int i=0; i<result.Count; i++){ var data = result[i].Split(new string[]{"~||~"},StringSplitOptions.None); mytable.AddRow(data[0]+"~||~"+data[1]+"~||~"+data[2]+"~||~"+data[3]+"~||~"+data[4]); } }
строка с заголовками копируется постоянно копируется как этого избежать ?при этом заголовк никак не будет отличаться от остальных строк т.е не будет выделен цветом или жирностью какой-то итд .... обычная строка ... просто при чтении из такой таблицы ZP не будет ее возвращать в результате, она не будет участвовать в подсчете строк
// get table by name "Table_1"
IZennoTable table = project.Tables["Table_1"];
// convert table to string
return table.ToString();
Спасибо за информациюЯ перед записью таблицы в файл делаю ее конвертацию в "мульти-строку" через кубик C#:
Потом при записи файла проверяю: если файл уже есть, то шаб просто дописывает строки, если его нет, то создает файл записывая строку заголовков столбцов, а уже после нее мульти-строку с данными ({-String.Tab-} - это разделитель столбцов в таблице в виде пробельного таба, вы там свой укажите).C#:// get table by name "Table_1" IZennoTable table = project.Tables["Table_1"]; // convert table to string return table.ToString();