Работа с таблицей

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
Здрасти. Такой вопрос. Есть таблица с данными столбец А - фамилия, В-имя, С -возраст итд. Нужно из этой таблицы переложить в другую данные по первому столбцу. т.е. выбрать всех условных Ивановых с их именами и возрастом итд и положить в другую таблицу. Спасибо
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Здрасти. Такой вопрос. Есть таблица с данными столбец А - фамилия, В-имя, С -возраст итд. Нужно из этой таблицы переложить в другую данные по первому столбцу. т.е. выбрать всех условных Ивановых с их именами и возрастом итд и положить в другую таблицу. Спасибо
C#:
IZennoTable tb1 = project.Tables["tb1"]; // Таблицы с именами tb1 и tb2 должны быть в проекте
IZennoTable tb2 = project.Tables["tb2"];

string test = "Иванов"; // условие которое будем проверять в ячеке стобца А

// Заполняю демо данными
tb1.AddRow(new[]{"Иванов", "Иван", "15"});
tb1.AddRow(new[]{"Петров", "Иван", "10"});
tb1.AddRow(new[]{"Иванов", "Сергей", "6"});
tb1.AddRow(new[]{"Парниша", "Вован", "8"});

// Перемещаю нужные строки в другую табличку по условию
for(int i=0;i<tb1.RowCount;i++) {
    string[] row = tb1.GetRow(i).ToArray(); // Взяли целую строку
    if(test == row[0]){ // row[0] содержит содержимое ячейки столбца А
        tb2.AddRow(row); // Добавили строку с другую таблицу
    }
}

// Случай, когда нужно переместить по списку
List<string> temp_test = new List<string>();
temp_test.Add("Иванов"); // заполняю демо данными
temp_test.Add("Парниша");

// Выборка по списку условий
for(int j=0;j<temp_test.Count;j++) {
    for(int i=0;i<tb1.RowCount;i++) {
        string[] row = tb1.GetRow(i).ToArray();
        if(temp_test[j] == row[0]){
            tb2.AddRow(row);
        }
    }
}
 
  • Спасибо
Реакции: Дмитрий621985 и one

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
C#:
IZennoTable tb1 = project.Tables["tb1"]; // Таблицы с именами tb1 и tb2 должны быть в проекте
IZennoTable tb2 = project.Tables["tb2"];

string test = "Иванов"; // условие которое будем проверять в ячеке стобца А

// Заполняю демо данными
tb1.AddRow(new[]{"Иванов", "Иван", "15"});
tb1.AddRow(new[]{"Петров", "Иван", "10"});
tb1.AddRow(new[]{"Иванов", "Сергей", "6"});
tb1.AddRow(new[]{"Парниша", "Вован", "8"});

// Перемещаю нужные строки в другую табличку по условию
for(int i=0;i<tb1.RowCount;i++) {
    string[] row = tb1.GetRow(i).ToArray(); // Взяли целую строку
    if(test == row[0]){ // row[0] содержит содержимое ячейки столбца А
        tb2.AddRow(row); // Добавили строку с другую таблицу
    }
}

// Случай, когда нужно переместить по списку
List<string> temp_test = new List<string>();
temp_test.Add("Иванов"); // заполняю демо данными
temp_test.Add("Парниша");

// Выборка по списку условий
for(int j=0;j<temp_test.Count;j++) {
    for(int i=0;i<tb1.RowCount;i++) {
        string[] row = tb1.GetRow(i).ToArray();
        if(temp_test[j] == row[0]){
            tb2.AddRow(row);
        }
    }
}
Спасибо все получилось
 

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
А можно или как столбец "В" положить в список
C#:
IZennoTable tb1 = project.Tables["tb1"];
tb1.AddRow(new[]{"a", "b", "c"}); // заполнил таблицу демо данными
tb1.AddRow(new[]{"A", "B", "C"});
IZennoList list1 = project.Lists["list1"];

list1.AddRange(tb1.GetColumn(1)); // скопировал столбец В в список
 

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
C#:
IZennoTable tb1 = project.Tables["tb1"];
tb1.AddRow(new[]{"a", "b", "c"}); // заполнил таблицу демо данными
tb1.AddRow(new[]{"A", "B", "C"});
IZennoList list1 = project.Lists["list1"];

list1.AddRange(tb1.GetColumn(1)); // скопировал столбец В в список
Не получается ругается кубик(
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
Список с именем list1 есть в проекте?
Таблица с именем tb1 есть в проекте?
В таблице действительно есть данные в столбце B?
да конечно есть такие таблици и списки, он ругаеся на GetColumn(1)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
Ну все ровно спасибо. Стандартными снипетами за циклю толбец
 

Дмитрий621985

Пользователь
Регистрация
03.06.2018
Сообщения
166
Благодарностей
6
Баллы
18
Странно... Версия зенки у меня 5.47 - вот результат выполнения кода.
Посмотреть вложение 76274
Здрасти. Подскажите как положить в таблицу значения. использовал Ваш метод где то на форуме нашел
var table1 = project.Tables["Архив линий"];
int x = Convert.ToInt32(project.Variables["Shetchic"].Value);
string a = project.Variables["a"].Value;
string b = project.Variables["b"].Value;
string с = project.Variables["с"].Value;
table1.SetCell(0,x,a,b,с);
А он ругается "не одно из перегрузок метода SetCell не применяет 4 аргумента"
Я понимаю на что он ругается , но может есть другой способ. У меня переменных куча. Спасибо!
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)