Я хотел бы изменить цвет определенной строки в моем представлении данных. Строка должна быть изменена на красный, если значение columncell 7 меньше значения в columncell 10. Есть предложения о том, как этого добиться?
Вам нужно перебрать строки в datagridview, а затем сравнить значения столбцов 7 и 10 в каждой строке.
Попробуйте следующее:
foreach (DataGridViewRow row in vendorsDataGridView.Rows)
if (Convert.ToInt32(row.Cells[7].Value) < Convert.ToInt32(row.Cells[10].Value))
{
row.DefaultCellStyle.BackColor = Color.Red;
}
Что-то вроде следующее ... Предполагая, что значения в клетках являются целые числа.
foreach (DataGridViewRow dgvr in myDGV.Rows)
{
if (dgvr.Cells[7].Value < dgvr.Cells[10].Value)
{
dgvr.DefaultCellStyle.ForeColor = Color.Red;
}
}
непроверенные, поэтому извиняюсь за любую ошибку.
Если вы знаете конкретный ряд, вы можете пропустить итерацию:
if (myDGV.Rows[theRowIndex].Cells[7].Value < myDGV.Rows[theRowIndex].Cells[10].Value)
{
dgvr.DefaultCellStyle.ForeColor = Color.Red;
}
Указатели объектов никогда не удаляются, точка. Тот факт, что они набраны как указатели, а не просто как «объектные типы», является артефактом наследия языка C. Это в точности эквивалентно системе типов Java, где доступ к объектам всегда осуществляется через ссылки. В Java объект никогда не удаляется - на самом деле, нельзя. Вы не должны думать о них как о указателях, потому что семантически это не так. Это просто ссылки на объекты.
-121--1080963-Я не могу поверить, что никто не упомянул:
Его коммерческий js рамки, но довольно доступный, и делают собрать хороший UI ветерок. Есть гораздо более полный набор элементов, то jqueryui, и его разработан, чтобы сделать целый аппликаций. я только играл с ним немного, но я действительно люблю его до сих пор. Бесплатно для личного пользования.
Если вы действительно хотите получить представление о полном пользовательском интерфейсе, разработанном с помощью EXT, попробуйте использовать следующий url:
http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/feed-viewer/feed-viewer.html
-121--77422- Вы ищете событие CellFormatting
.
Вот пример .
Обычно мне нравится использовать для этого событие GridView.RowDataBound Event.
protected void OrdersGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.ForeColor = System.Drawing.Color.Red;
}
}