Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 20
1

Как изменить цвет в ячейке GridView?

14.07.2017, 11:22. Просмотров 1446. Ответов 11
Метки нет (Все метки)

Доброго дня.
ни как не удается изменить цвет в определенной ячейки GridVie.

имеется гридвью
HTML5
1
2
3
4
5
6
7
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     Width="900px"  BackColor="White" onrowdatabound="GridView1_RowDataBound">
    <Columns>
        <asp:BoundField DataField="ADRESS" HeaderText="Адрес"  SortExpression="ADRESS"  />
        <asp:BoundField DataField="Name"  HeaderText="Имя"   SortExpression="Name" NullDisplayText="н/п"/>        
    </Columns>
</asp:GridView>
заполняю его из кода
C#
1
2
3
4
5
6
SqlConnection conn = new SqlConnection(@"Data Source=...;Persist Security Info=True;Password=__;User ID=__;Initial Catalog=___;");
            conn.Open();
            SqlCommand com = new SqlCommand("select ADRESS, name from test",conn)
  DataTable  dt = new DataTable();           
            dt.Load(com.ExecuteReader());
            GridView1.DataSource = dt;
все работает. теперь создаю обработчик
C#
1
2
3
4
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            e.Row.Cells[1].BorderColor = System.Drawing.Color.Black;
        }
и он фиг. Подскажите, как обратится к определенной ячейке в определенной строке и изменить ее св-ва.
заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2017, 11:22
Ответы с готовыми решениями:

Как изменить цвет текста в ячейке в datagridview?
как изменить цвет текста в определенной ячейке в datagridview? ...

Как изменить цвет шрифта в ячейке формы? (+)
Сабж? С помощью обновляю таблицу -следом обновляются значения в форме, как, в зависимости от...

Как изменить цвет в ячейке DBGrid в зависимости от содержимого?
Проблема в следующем. DBGrid возвращает некоторое количество записей. Обработчик стоит на...

Изменить цвет строки в соответствии с значением в ячейке
Всем привет! Помогите, пожалуйста, с макросом для Excel, уже облазила все, что только можно :cry:...

11
HF
335 / 260 / 73
Регистрация: 09.09.2011
Сообщений: 869
Завершенные тесты: 24
14.07.2017, 20:07 2
Вам цвет чего нужно поменять? Точно BorderColor?
Используйте ForeColor и BackColor.
0
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 20
17.07.2017, 14:03  [ТС] 3
пробовал даже e.Row.Cells[1].Text = "123"; и все пофиг
0
HF
335 / 260 / 73
Регистрация: 09.09.2011
Сообщений: 869
Завершенные тесты: 24
17.07.2017, 14:10 4
Цитата Сообщение от Labotryas Посмотреть сообщение
пробовал даже e.Row.Cells[1].Text = "123"; и все пофиг
У вас данные в таблице вообще появляются? А то сейчас даже не понятно что именно у вас не работает - вообще всё или только цвет.

Если даже данных нет в таблице, то этот вызов где-то происходит после заполнения DataTable?
C#
1
GridView1.DataBind();
0
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 20
18.07.2017, 05:16  [ТС] 5
Данные появляются, т.е. грид заполняется данными, а потом изменить цвет или значение в ячейке грида не получается
0
2370 / 1832 / 330
Регистрация: 22.07.2011
Сообщений: 7,022
Завершенные тесты: 1
18.07.2017, 23:15 6
HTML5
1
2
3
4
5
6
7
8
<style>
    table.table-color td:nth-child(2)
    {
         border: 1px solid black;  
    }
</style>
 
<asp:GridView ID="GridView1" runat="server" CssClass="table-color" ...>
https://jsfiddle.net/qcg7qgth/
0
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 20
19.07.2017, 04:59  [ТС] 7
это разве закрасит только определенную(одну или две или 5 из 100 штук) ячейку?
0
2370 / 1832 / 330
Регистрация: 22.07.2011
Сообщений: 7,022
Завершенные тесты: 1
19.07.2017, 11:46 8
Цитата Сообщение от Labotryas Посмотреть сообщение
это разве закрасит только определенную(одну или две или 5 из 100 штук) ячейку?
По ссылке есть пример как оно будет , это равносильно тому , что Вы писали
e.Row.Cells[1].BorderColor = System.Drawing.Color.Black;

пробовал даже e.Row.Cells[1].Text = "123"; и все пофиг
это странно , видимо где то еще ошибка есть , ибо такая инструкция должна работать как ожидается.
0
HF
335 / 260 / 73
Регистрация: 09.09.2011
Сообщений: 869
Завершенные тесты: 24
19.07.2017, 13:28 9
Если
Цитата Сообщение от Labotryas Посмотреть сообщение
Данные появляются, т.е. грид заполняется данными, а потом изменить цвет или значение в ячейке грида не получается
, но
Цитата Сообщение от Labotryas Посмотреть сообщение
пробовал даже e.Row.Cells[1].Text = "123"; и все пофиг
, то я даже не стал больше советов давать. Явно биндинг/или заполнение грида где-то ещё происходит и этот метод разумеется вообще игнорируется или перезаписываются данные грида после заполнения.
Поэтому я и спросил - где команда "GridView1.DataBind()"? Потому что если я извращенец и решу иначе как-то данные в грид закинуть, то onrowdatabound может и не сработать. Или если ещё другое событие где-то висит и данные затираются. Вообщем пока что это работа для оракула, а ТС не может отладчиком поработать.
0
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 20
20.07.2017, 05:12  [ТС] 10
Цитата Сообщение от Labotryas Посмотреть сообщение
SqlConnection conn = new SqlConnection(@"Data Source=...;Persist Security Info=True;Password=__;User ID=__;Initial Catalog=___;");
* * * * * * conn.Open();
* * * * * * SqlCommand com = new SqlCommand("select ADRESS, name from test",conn)
* DataTable *dt = new DataTable(); * * * * *
* * * * * * dt.Load(com.ExecuteReader());
* * * * * * GridView1.DataSource = dt;
При выполнении данного запроса, GridView1 заполняется без всякого DataBind(). его можно привязать к событию кнопки(как у меня например) или засунуть в OnLoad(). Вопрос в том как в GridView1 изменить цвет например во второй строке третьей ячейке?
0
HF
335 / 260 / 73
Регистрация: 09.09.2011
Сообщений: 869
Завершенные тесты: 24
20.07.2017, 08:17 11
Цитата Сообщение от Labotryas Посмотреть сообщение
Вопрос в том как в GridView1 изменить цвет например во второй строке третьей ячейке?
C#
1
2
3
GridView1.Rows[2].Cells[3].Text = "Новый текст ";
GridView1.Rows[2].Cells[3].BorderColor = System.Drawing.Color.Black;
и т.п.
И разумеется не в методе биндинга, а в любом месте программы, работая уже с созданным и заполненным гридом.
1
0 / 0 / 0
Регистрация: 22.05.2018
Сообщений: 3
13.04.2020, 15:52 12
Небольшой наглядный пример:
http://myasp.ru/post/2020/04/13/griview
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2020, 15:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Изменить цвет шрифта в ячейке после редактирования
Здравствуйте. Нужно, чтоб цвет шрифта в ячейке после редактирования изменялся на синий. Макросом. ...

Изменить цвет кнопки, которая находится в ячейке datagridview
Как изменить цвет кнопки, которая находится в ячейке датагрида?

Изменить цвет части текста в ячейке таблицы в Word
Добрый день уважаемые знатоки)) Никак не могу справится со следующей задачей: С помощью VBA кода...

Как присвоить ячейке цвет пикселя?
Здравствуйте,подскажите как сделать чтобы программа присваивала значение пикселя с картинки в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.