01:07

All of the love we left behind watching the flashbacks intertwine. I think our lives have just begun.
И опять проблема с адекватным выводом таблицы в DataGridView. Эта проблема чем-то похожа на предыдущую, которая, в силу моих слабых интеллектуальных способностей, так и не решилась.
Итак, что мы имеем: есть в таблице колонка, данные которой типа boolean. Выводится эта колонка в виде CheckBox. А проблема заключается в том, что я не знаю как составить условие: если данные в ячейке - true, то checkbox.checked=true и наоборот. Вот как мне связать данные из моей базы данных и этот несчастный чекбокс?
Сейчас все выглядит так:

Там, где стоимость 300 рублей у типа комнаты галка не должна стоять, а где 500 - должна, потому что там тип комнаты - true. Но во всей таблице чекбоксы без галок.

@темы: Вопрос, База данных, C#

Комментарии
30.05.2011 в 01:54

After silence that which comes nearest to expressing the inexpressible is music.
тебе нужно событие onItemDataBinded или похожее (т.е. когда строка уже вставилась в грид). Дальше - вычисляешь строку события (обычно в параметрах идёт) - далее берёшь объект, который биндится в данный момент (обычно в параметрах или сам sender). Далее находишь в этой строке комбобокс (n строка и 2 столбец) и выставляешь его знаечение как считаешь нужным.
30.05.2011 в 12:31

All of the love we left behind watching the flashbacks intertwine. I think our lives have just begun.
Kakou ECTb, не могу найти такое событие. Может это DataBindingComplete? В описании написано, что событие вознивает при каждом изменении списка источников данных. Оно?
30.05.2011 в 12:37

After silence that which comes nearest to expressing the inexpressible is music.
Попробуй это событие :
30.05.2011 в 12:46

All of the love we left behind watching the flashbacks intertwine. I think our lives have just begun.
То есть получается вот такое условие:

Но что находится в самом этом условии? Простите, я правда тупая, объясните пожалуйста на пальцах.
30.05.2011 в 13:16

After silence that which comes nearest to expressing the inexpressible is music.
ну ок, если событие DataBindingComplete
то попробуй так :

foreach (DataGridViewRow dgvr in dataGridView1.Rows)
{
dgvr.Cells[2].Value = Convert.ToDouble(dgvr.Cells[3].Value) == 300);

}
я не помню что там с типами, поиграйся с индексами (там где 2 и 3, может быть нужно 3 и 4 или 1 и 2), но в общем должно сработать
30.05.2011 в 13:27

All of the love we left behind watching the flashbacks intertwine. I think our lives have just begun.
Kakou ECTb, лол, все работает, но наоборот) галка стоит там, где 300 рублей, но не стоит там, где 500. Это как-то исправляемо или просто забить?
30.05.2011 в 14:17

After silence that which comes nearest to expressing the inexpressible is music.
Abigail Исправь строчку на : dgvr.Cells[2].Value = Convert.ToDouble(dgvr.Cells[3].Value) == 500;
30.05.2011 в 14:20

All of the love we left behind watching the flashbacks intertwine. I think our lives have just begun.
Kakou ECTb, ааа, так вот что значит это число)) спасибо вам огромное, вы мне очень помогли!
30.05.2011 в 14:23

After silence that which comes nearest to expressing the inexpressible is music.
;)