Конференция ".Net" » Модификация строки таблицы
 
  • datarow (11.05.07 12:32) [0]
    DataView dw = new DataView(dt);
    dw.RowFilter = <какой-то_фильтр_по_PK>
    if (dw.Count == 0)
     {
       dr = dt.NewRow();
       dt.Rows.Add(dr);
       //Здесь присваиваем полям значения
     }
    else
    {
     //Как здесь получить первую строку dw и модифицировать поля?
    }

    ЗЫ
    В документации есть свойство DataView.Item(), возвращающее DataRow, но VS2005 не видит это свойство.
  • firstrow (11.05.07 13:17) [1]
    dr = dw[0].Row // c#
    однако если начали работать с DataView то и работайте с ней
  • datarow (11.05.07 13:37) [2]
    ok.

    однако если начали работать с DataView то и работайте с ней
    Есть отфильтрованный по PK DataView.
    Как модифицировать поля строки?
    Я в моем случае знаю, что строка есть и она одна, но их же может быть больше.
  • firstrow (11.05.07 13:38) [3]
    dt.Rows.Add(dr);
    //Здесь присваиваем полям значения
    и вот это вообще криво до нельзя
  • firstrow (11.05.07 13:43) [4]

    > Есть отфильтрованный по PK DataView.

    а тут не фильтровать надо, а DataTable.Select или DataView.Find (предпочтительнее)

    > Я в моем случае знаю, что строка есть и она одна, но их
    > же может быть больше.

    и что?
  • datarow (11.05.07 14:46) [5]
    dt.Rows.Add(dr);
    //Здесь присваиваем полям значения
    и вот это вообще криво до нельзя


    А как более правильно чем у меня?
    //Новая строка
    DataRow dr = new DataRow();
    //Вставляем в таблицу
    dt.Rows.Add(dr)

    Вроде все верно.
  • firstrow (11.05.07 14:58) [6]
    Вот что говорит МСДН
    To create a new DataRow, you must use the NewRow method of the DataTable class. When you use the NewRow method, a new DataRow object is returned using the schema of parent DataTable. After you create the DataRow object and set the values for each of its columns, use the Add method to add the object to the collection.
  • datarow (11.05.07 15:08) [7]
    ok. сенкс
 
Конференция ".Net" » Модификация строки таблицы
Есть новые Нет новых   [118663   +28][b:0][p:0.001]