Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / CheckBox DataGrid / 6 сообщений из 6, страница 1 из 1
20.10.2008, 21:04
    #35605377
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox DataGrid
Здраствуйте!!!
Подскажите Пожалуйста!!!
в DataGridе есть DataGridViewCheckBoxColumn
как мне "дойти" до checkboxа, и проверит статус checked true или false?

Зарание спосибо!!!
...
Рейтинг: 0 / 0
20.10.2008, 21:13
    #35605392
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox DataGrid
BohodirЗдраствуйте!!!
Подскажите Пожалуйста!!!
в DataGridе есть DataGridViewCheckBoxColumn
как мне "дойти" до checkboxа, и проверит статус checked true или false?

Зарание спосибо!!!
Сам-то понял, что спросил? У DataGridViewCheckBoxColumn не может быть статуса checked true или false.
Не путай со строкой записи.
...
Рейтинг: 0 / 0
20.10.2008, 21:45
    #35605429
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox DataGrid
такое стуация в DataGridе
Выбрат |Группа|Факултет|Количество студентов|
checkbox |210 | ITu | 25 |
checkbox |211 | ITu | 25 |
checkbox |212 | ITu | 20 |

если я выбраль Груп 210 и 211(checked) то в lable выходит сложеное цифра 50 (по колонке "Количество студентов")
25 + 25 = 50
...
Рейтинг: 0 / 0
21.10.2008, 08:56
    #35605758
WYPMAH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox DataGrid
Bohodir
можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
DataTable dt0 = new DataTable();
dt0.Columns.Add(new DataColumn("check", typeof(bool)));
dt0.Columns.Add(new DataColumn("value", typeof(int)));
for (int i =  0 ; i <  10 ; i++)
{
    DataRow r = dt0.NewRow();
    r["check"] = i %  2  ==  0 ;
    r["value"] = i +  1 ;
    dt0.Rows.Add(r);
}

DataGridView dgv0 = new DataGridView();
dgv0.DataSource = dt0;
dgv0.Dock = DockStyle.Top;

Label lbl0 = new Label();
lbl0.Text = "";
lbl0.Left =  10 ;
lbl0.Top =  250 ;

Button btn0 = new Button();
btn0.Text = "Press me";
btn0.Left =  10 ;
btn0.Top =  220 ;
btn0.Click += delegate 
{
    int val =  0 ;
    foreach (DataRow row in dt0.Rows)
    {
        if (bool.Parse(row["check"].ToString()) == true)
        {
            val += int.Parse(row["value"].ToString());
        }
    }
    lbl0.Text = val.ToString();
};
this.Controls.AddRange(new Control[] { dgv0, btn0, lbl0 });
...
Рейтинг: 0 / 0
21.10.2008, 20:37
    #35607800
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox DataGrid
WYPMAH,

Спосибо!!!
Даные берутса и БД SQL, анологично не получилос!!!

И ешо можноли зделать: при нажатие на checkbox (if cheked=true) сразу виводил резултат в Lable
Зарание спосибо!
...
Рейтинг: 0 / 0
22.10.2008, 09:52
    #35608341
WYPMAH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox DataGrid
BohodirДаные берутса и БД SQL, анологично не получилос!!!
это пример, чтобы вы поняли принцип работы, остальное делайте сами.

BohodirИ ешо можноли зделать: при нажатие на checkbox (if cheked=true) сразу виводил резултат в Lable
что то вроде этого, писАл без студии, так что проверяйте (возможно, придётся поставить где нибудь EndEdit(), чтобы событие автоматом, после установки чека, срабатывало), так что разбирайтесь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
DataTable dt0 = new DataTable();
dt0.Columns.Add(new DataColumn("check", typeof(bool)));
dt0.Columns.Add(new DataColumn("value", typeof(int)));
for (int i =  0 ; i <  10 ; i++)
{
    DataRow r = dt0.NewRow();
    r["check"] = i %  2  ==  0 ;
    r["value"] = i +  1 ;
    dt0.Rows.Add(r);
}

BindingSource bs0 = new BindingSource();
bs0.DataSource = dt0;

DataGridView dgv0 = new DataGridView();
dgv0.DataSource = bs0;
dgv0.Dock = DockStyle.Top;

Label lbl0 = new Label();
lbl0.Text = "";
lbl0.Left =  10 ;
lbl0.Top =  250 ;

dgv0.CellValueChanged += delegate(object exSender, DataGridViewCellEventArgs exE)
{
    int val = lbl0.Text.Trim() != string.Empty ? int.Parse(lbl0.Text.Trim()) :  0 ;
    if (bool.Parse(dgv0.Rows[exE.RowIndex].Cells[exE.ColumnIndex].Value.ToString()) == true)
    {
        val += int.Parse(dt0.Rows[bs0.Position]["value"].ToString());
    }
    else
    {
        val -= int.Parse(dt0.Rows[bs0.Position]["value"].ToString());
    }

    lbl0.Text = val.ToString();
};

this.Controls.AddRange(new Control[] { dgv0, lbl0 });
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / CheckBox DataGrid / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]