Индекс строк таблицы для записи в ячейки.

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63
Туплю.
Хочу выкрутиться штатными функциями кубиков таблицы и списка, чтобы решить следующую задачу:
Есть сводная таблица где нужно менять значение ячейки "статус" по логину и где могут быть несколько строк одного логина.
Поскольку не знаю индекс строк, первое что приходит на ум, это сначала взять с удалением в список строки из таблицы соответствующие логину, а потом добавить их заново поменяв значение "статус".
Но это не получается, потому что в список ложатся не строки, а все ячейки строк.
Как это проще сделать?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Как-то сложно... Не проще сразу апдейт ячейки статус WHERE логин такой-то... И все...
Столбец с логинами - проиндексировать. Если строк с одним логином несколько, то, соответственно, индекс "обычный", не уникальный.
 
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
Зачем так извращаться, когда тут дело на 1 минуту?
C#:
var table = project.Tables["table"];//таблица
string filter = "loginName";//логин, которому меняем статус
int login_col = 0;//колонка, по которой искать логины
int status_col = 3;//колонка, в которой проставлять статусы
string status_text = "true";//текст статуса подставить свой

foreach(string[] row in table.GetItems("all", true).Select(x=>x.ToArray())){
    if(row[login_col] == filter){
        string[] newrow = row;
        newrow[status_col] = status_text;
        table.AddRow(newrow);
    }
    else table.AddRow(row);
}
Как-то сложно... Не проще сразу апдейт ячейки статус WHERE логин такой-то... И все...
Столбец с логинами - проиндексировать. Если строк с одним логином несколько, то, соответственно, индекс "обычный", не уникальный.
но тут, очевидно, речь идет об обычной таблице зенно, а не о бд
 
  • Спасибо
Реакции: bizzon

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
но тут, очевидно, речь идет об обычной таблице зенно, а не о бд
Блин, профдеформация ))) Вижу слова "таблица и индекс" в одном предложении, думаю о БД ))
Конец декабря, мне простительно )) Надо больше отдыхать...
 
  • Спасибо
Реакции: Alexmd

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63
Зачем так извращаться, когда тут дело на 1 минуту?
C#:
var table = project.Tables["table"];//таблица
string filter = "loginName";//логин, которому меняем статус
int login_col = 0;//колонка, по которой искать логины
int status_col = 3;//колонка, в которой проставлять статусы
string status_text = "true";//текст статуса подставить свой

foreach(string[] row in table.GetItems("all", true).Select(x=>x.ToArray())){
    if(row[login_col] == filter){
        string[] newrow = row;
        newrow[status_col] = status_text;
        table.AddRow(newrow);
    }
    else table.AddRow(row);
}
Супер. А если нужно будет не полное соответствие по логину, а "содержит"
 

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