Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Вопрос о заполнении DataTable


Автор: VisMaster 24.1.2008, 20:37
Здравствуйте

Проблема в следующем: Я заполняю таблицу данными из БД, и вот что получается

78004852            
78004856            
78005724            
78005726            
78005730            
                78005734        
                78005738        
                78005746        
                78005747        
                78005773        
                                78005807    
                                78005810    
                                78005811    
                                78005815    
                                78005819    
Вот код:
Код

                while (reader.Read())
                {
                    j++;
                        name1 = reader[0].ToString();
                        row = MyDataTable.NewRow();
                        row["ИСН устройств" + i] = name1;
                        MyDataTable.Rows.Add(row);
                    if (j == 5)
                    {
                        j = 0;
                        i++;
                        MyDataTable.Columns.Add("ИСН устройств"+i, typeof(string));
                    }
                }



Я знаю что проблема в этой строке row = MyDataTable.NewRow();   но как мне сделать так чтобы при добавлении нового столбца, программа его заполняла с первой яцейки???

Заранее Спасибо..

Автор: thomas 24.1.2008, 21:07
VisMaster, 
Приветствую.
Если правильно понял идею, то тебе надо только ПЯТЬ раз вызывать 
Код
row = MyDataTable.NewRow();

А потом при добавлении новой колонки обращаться к уже существующей строке 
Код
MyDataTable.Rows[j]["ИСН устройств" + i] = name1;

Успехов.  smile

Добавлено через 3 минуты и 39 секунд
Да перед этим выполняй проверку: типа если строка не  существует то добавь новую (это произойдет пять раз)
или в существующей строке с индексом j заполняем следующую ячейку с индексом i.

Автор: VisMaster 24.1.2008, 21:47
Спасибо большое, именно это я и хотел

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)