DotNetBar SuperGrid

Тема в разделе ".NET", создана пользователем zhenissimo, 20 мар 2013.

  1. zhenissimo

    zhenissimo Создатель

    Регистр.:
    11 ноя 2008
    Сообщения:
    37
    Симпатии:
    0
    Всем привет!!
    Здесь есть кто нибудь, кто работал с DotNetBar? конкретно SuperGrid.
    Перейти по ссылке


    Пытаюсь осушештвить элементарную арифметику. Т.е. делить между собой два обьекта с таблицы и результат выдать в новую колонку.


    В простом DataGridView у меня это получилось:

    Код:
    private void dgvInventory_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
                    object val1 = dgvInventory.Rows[e.RowIndex].Cells[10].Value;
                    object val2 = dgvInventory.Rows[e.RowIndex].Cells[11].Value;
                    double v1 = Convert.ToDouble(val1);
                    double v2 = Convert.ToDouble(val2);
                    double MonthDep = v1/v2 ;
                    dgvInventory.Rows[e.RowIndex].Cells[14].Value = Math.Round((MonthDep), 2);
    
                    dgvInventory.Rows[e.RowIndex].Cells[14].Value = 0;
             }
            
    
    Вот тока осуществить это в SuperGrid таблице не получается.
    Вот как я пробовал:
    Код:
               
                GridPanel panel = superGridControl1.PrimaryGrid;
                int count = panel.Rows.Count;
     
                object val1 = panel.GetCell(e.RowIndex, 10);
                object val2 = panel.GetCell(e.RowIndex, 11);
     
                //object val1 = panel.Rows[e.RowIndex].GridPanel.Columns[10];
                //object val2 = panel.Rows[e.RowIndex].GridPanel.Columns[11];
     
                double v1 = Convert.ToDouble(val1);
                double v2 = Convert.ToDouble(val2);
                double MonthDep = v1/v2 ;
     
                panel.GetCell(e.RowIndex, 14).Value = Math.Round((MonthDep), 2);

    Но без результата! может у когото есть идеи? Или может другой метод деления?
    Буду благодарен за любую помощ!
     
  2. artcosmic

    artcosmic

    Регистр.:
    16 сен 2008
    Сообщения:
    198
    Симпатии:
    161
    Что в отладчике в переменной MonthDep после присвоения ей значения?
    Если она вычислилась корректно, то нужно смотреть, как правильно присвоить значение ячейке таблицы.
    Первое, что в голову пришло, что это скорее всего делается не через GetCell - вероятно, для этого должно быть что-то типа SetCellValue или вроде того.
    Если не вычислилась - то проблема в другом, выше.
    Вообще, отладчик решает подобные вопросы гораздо быстрее, чем вы тратите время на подобные топики на форуме.

    P.S. Все работает, но только в событии CellValueChanged, которое возникает только тогда, когда значение ячейки изменилось (например, было 10 - стало 11).
     
  3. zhenissimo

    zhenissimo Создатель

    Регистр.:
    11 ноя 2008
    Сообщения:
    37
    Симпатии:
    0
    Все проблемы решил, оказалось всё намного проще, чем казалось!
    Кстати, DotNetBar очень крутая штука, для создания мондых Windows APP в стиле Метро. Если кого интересует, могу поделиться исходниками.
    http://www.devcomponents.com/