Как перебрать набор данных и изменить данные C # - PullRequest
3 голосов
/ 16 июня 2011

я пытаюсь перебрать набор данных, и где бы ни было 0, я хочу изменить его на нулевое значение или пустое значение, пока у меня есть это

foreach (DataRow drRow in ds.Tables[0].Rows)
{            
     //loop through cells in that row
      {
        //if the value is 0 change to null or blank
      }
}

. Может ли кто-нибудь из меня помочь в этом

Ответы [ 3 ]

3 голосов
/ 16 июня 2011

Конечно

foreach (DataRow drRow in ds.Tables[0].Rows)

    {
        for(int i = 0; i < ds.Tables[0].Columns.Count; i++)
        {
            int rowValue;

            if (int.TryParse(drRow[i].ToString(), out rowValue))
            {
                if (rowValue == 0)
                {
                    drRow[i] = null;
                }
            }

        }
    }

Я действительно верил, что никто еще не работает с DataSets: (

0 голосов
/ 16 июня 2011

Вы могли бы сделать

DataTable dt = new DataTable();
.....
.....

    DataRowCollection drColl = dt.Rows;
                for(int j=0; j<drColl.Count;j++) 
                {
                    DataRow drRow = drColl[j];
                    object[] itemArr = null;
                    itemArr = drRow.ItemArray;
                    //loop through cells in that row       
                    for(int i=0; i<itemArr.Length; i++)
                    {         
                        //if the value is 0 change to null or blank 
                        if (itemArr[i].ToString() == "0")
                            drRow[i] = "";
                    } 
                } 
0 голосов
/ 16 июня 2011

Как-то так может помочь:

foreach (DataRow rows in table.Rows)
{
    object value = null;
    var cells = rows.ItemArray;
    for (int i = 0; i < cells.Length; i++)
    {
        value = cells[i];
        if (value != null && value.GetType() == typeof(int))
        {
            if ((int)value == 0)
            {
                cells[i] = null;
            }
        }
    }
    rows.ItemArray = cells;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...