Закодированный пользовательский интерфейс — как идентифицировать строку сетки и столбцы, вставленные динамически

В свойствах элемента управления новая строка имеет имя, равное Volume Row 62, а индекс строки равен 61 - как записано, и добавьте значения в несколько столбцов.

Когда я вставляю новую строку с внешними данными и заполняю соответствующие столбцы, он пытается переопределить данные столбца в строке, которая использовалась в записи, а не в той, которая вставляется.

Если я удалю 62 и 61 из свойств строки и сделаю это общим, он перейдет к первой строке в сетке и попытается редактировать.

Какие свойства следует изменить или найти, чтобы столбцы правильно заполнялись в новой строке (чье имя и индекс строки неизвестны).

любая помощь приветствуется.

Спасибо.


person Mush    schedule 30.09.2011    source источник
comment
«чье имя и индекс строки неизвестны», узнайте их, это только общее решение.   -  person Iarek    schedule 03.10.2011
comment
Подскажите, пожалуйста, как найти динамическую строку и индекс   -  person Mush    schedule 04.10.2011
comment
Хотя я не знаю деталей вашего пользовательского интерфейса, я предлагаю вам контролировать значения, вставленные в таблицу. Итак, я бы искал строку, используя ее содержимое: 1) перебирать все строки 2) находить ячейки текущей строки 3) если тексты ячеек соответствуют вашему последнему вводу, вы нашли строку   -  person Iarek    schedule 04.10.2011
comment
Если у вас отображается какой-либо первичный ключ (например, SSN), вы можете искать только по этому столбцу, что будет немного проще.   -  person Iarek    schedule 04.10.2011
comment
Если не поможет, выложите свой макет, чтобы я посмотрел, что с ним можно сделать.   -  person Iarek    schedule 04.10.2011


Ответы (1)


Чтобы решить эту проблему в нашем приложении, мы экспортировали метод карты пользовательского интерфейса и создали временный список с использованием VAR. Я не знаю, сработает ли это для вас или нет, но решили несколько наших проблем, связанных с динамическими строками и столбцами сетки:

общественное недействительное DoubleClickLaunch_UOW () {

        var temp = this.UIWindow.UIUnitGridTable.GetChildren().ToList();
        temp.RemoveAt(0);
        var rows = temp.Select(t => t.GetChildren().Select(s => s.GetValue()).ToList()).ToList();

        var tractLetters = rows.Select(s => s[1]).ToList();

        var index = tractLetters.IndexOf(DoubleClickLaunch_UOWParams.UITESTUNIT_TPText);
        if (index >= 0)
        {
            var textbox = temp[index].GetChildren()[1].GetChildren()[0];
            Mouse.DoubleClick(textbox);
        }
        else
        {
            Mouse.DoubleClick(this.UIWindow.UIUnitGridTable.UIItemRow.UIUnitNameCell.UITESTUNIT_TPText);
        }
person Tammy    schedule 21.10.2011