Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGrid, вывод n кол-во строк 
:(
    Опции темы
Redstuff
Дата 15.11.2006, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Подскажите как вывести n-ое кол-во строк? Если datagrid привязана к dataset.


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Dmitriy_Donetsk
Дата 15.11.2006, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 28.9.2006

Репутация: нет
Всего: нет



Насколько я понимаю, у тебя в dataset (к примеру) 20 строк, а ты хочешь, 
чтобы у тебя в datagrid отображались первые (к примеру) 10 строк? 
smile 
PM MAIL   Вверх
Redstuff
Дата 15.11.2006, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Dmitriy_Donetsk, нет у меня в dataset может и не быть строк. Т.е. чисто надо вывести хоть пустые строки
№  |    X    |    Y
--------------------
1    |          |  
2    |          |
3    |          |
....


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Dmitriy_Donetsk
Дата 15.11.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 28.9.2006

Репутация: нет
Всего: нет



А откуда берется n (количество строк)? Ты сам его задаешь? Или необходимо вывести все строки?
PM MAIL   Вверх
Redstuff
Дата 15.11.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Dmitriy_Donetsk, сам


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Softaz
Дата 15.11.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 3
Всего: 16



Цитата(Redstuff @  15.11.2006,  17:23 Найти цитируемый пост)
может и не быть строк.

Может и не быть или нет?
То есть, могут быть только 7 первых строк, а тебе надо значит еще 3 достроить?
Или ты сразу хочешь 10 новых?


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
Dmitriy_Donetsk
Дата 15.11.2006, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 28.9.2006

Репутация: нет
Всего: нет



Redstuff,

private void Form1_Activated(object sender, System.EventArgs e)
  {
    int n=10;
    sqlDataAdapter1.Fill(dataSet11,0,n,"Orders"); 
  }


В твоем dataSet у тебя будет  n строк. 

Это сообщение отредактировал(а) Dmitriy_Donetsk - 15.11.2006, 17:55
PM MAIL   Вверх
Redstuff
Дата 15.11.2006, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Dmitriy_Donetsk, 

1. у меня даже такого нет
Код

 sqlDataAdapter1

2. имеит ли значение, что данные у меня в xml?


Softaz, столбец № должнен быть обязательно, т.е. в нем значение как раз и нужно. Т.е. задаем его начальное значение и приращиваем на нужное число. А столбцы X и Y, могут быть пустыми


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Softaz
Дата 15.11.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 3
Всего: 16



Код

DataRow workRow;
//В dataset.Tables["имя_таблицы_в_датасете"].Rows.Count хранится число строк
//Если их меньше 10, то делаем следующий цикл 10 - dataset.Tables["имя_таблицы_в_датасете"].Rows.Count раз
count = dataset.Tables["имя_таблицы_в_датасете"].Rows.Count + 1;
for (int i = count; i <= 10; i++) 
{
  workRow = dataset.Tables["имя_таблицы_в_датасете"].NewRow();//если она одна, то можно поставить вместо строчки число 0: dataset.Tables[0]
  workRow["№"] = i;
  workRow["X"] = "если надо X";
  workRow["Y"] = "если надо Y";
   dataset.Tables["имя_таблицы_в_датасете"].Rows.Add(workRow);
}

dataGridView1.DataSource = dataset.Tables["имя_таблицы_в_датасете"];


Добавлено @ 19:30 
Естественно, в датасете должна уже быть таблица с полями №, X, Y

Код

DataTable tbl = new DataTale("tbl");
tbl.Columns.Add("№", Type.GetType("System.Int32");
tbl.Columns.Add("X", Type.GetType("System.String");
tbl.Columns.Add("Y", Type.GetType("System.String");
dataset.Tables.Add(tbl);


Писал на память, может где ошибся

Это сообщение отредактировал(а) Softaz - 15.11.2006, 19:39


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
Redstuff
Дата 16.11.2006, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Softaz спасибо!

А как можно поставить ограничение при вводе данных, т.е. чтобы строго было n строк, больше вводить нельзя. (ограничить число строк)

П.С. Где реально можно найти инфу о каждом контроле (на русском желательно), а то у меня много вопросов связанных именно с их использованием.


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Softaz
Дата 16.11.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 3
Всего: 16



Цитата(Redstuff @  16.11.2006,  00:52 Найти цитируемый пост)
А как можно поставить ограничение при вводе данных, т.е. чтобы строго было n строк,


Смотря который у тебя механизм ввода.
Если у тебя пользователь вводит даные в грид, то можно в обработчик событиий UserAddedRow, UserDeletedRow
вставить следующее
Код

        private void dataGridView1_UserAddedRow(object sender, DataGridViewRowEventArgs e)
        {
            if (dataGridView1.Rows.Count > 9)
            {
                dataGridView1.AllowUserToAddRows = false;
            }
        }

        private void dataGridView1_UserDeletedRow(object sender, DataGridViewRowEventArgs e)
        {
            if (dataGridView1.Rows.Count < 10)
            {
                dataGridView1.AllowUserToAddRows = true;
            }
        }


Если добавляются строки при кликаньи по кнопке (AddRow() в BindingSource), то же самое, только обработчики событий от BindingSource - названия похожи - посмотришь - догадаешься, делай кнопку неактивной/активной,
и т.д. и т.п. - все зависит от бизнес-правил.

Это сообщение отредактировал(а) Softaz - 16.11.2006, 13:45


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
Redstuff
Дата 16.11.2006, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Softaz, в DataGrid такого я не нашел  smile 
а DataGridView меня не устраивает...
Есть ли AllowUserToAddRows в DataGrid , или же там другой метод?


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Softaz
Дата 17.11.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 3
Всего: 16



Цитата(Redstuff @  16.11.2006,  23:39 Найти цитируемый пост)
Softaz, в DataGrid такого я не нашел


Вообще лучше не привязываться к DataGirid, но в учебных целях - сойдет.
Можно так (если у тебя VS2005)
Между dataset и DataGrid вклинь BindingSource.
В обработчик события ListChanged впиши switch-блок, VS должен тебе сам перечислить типа
Код

switch(e.ListChangedType)
...
...
case ListChangedType.ItemDeleted:
{
//Узнаем, что удалили
}
break;
...

Что дальше делать, ты уже знаешь.


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.