로그 양식을 만들고 DGV에 정보를 표시하고 있습니다. 각 로그는 LogEntry 클래스의 형태로 제공됩니다.포커스가 있지 않으면 색상이 DataGridview 행에 적용되지 않습니다.
는 원래 내가 만든 그래서 같은 DGV에 데이터를 추가 :
지금처럼 DGV의 각 coloumn 만들기 :
DataGridViewTextBoxColumn dateTimeColumn = new DataGridViewTextBoxColumn();
dateTimeColumn.Name = "dateTime";
dateTimeColumn.HeaderText = "Date/Time";
dataGridView_Log.Columns.Add(dateTimeColumn);
logEntry 기록 추가 : 모든
dataGridView_Log.Rows.Add(logEntry.dateTime, logEntry.service, logEntry.command, logEntry.message);
dataGridView_Log.Rows[dataGridView_Log.Rows.Count - 1].DefaultCellStyle.ForeColor = logEntry.color;
이를 잘 작동하고 각 행의 색상이 오른쪽 색깔이지만 로그 그것은 내가 그것을 의지대로 그것을 필터링 할 수 있도록하고 싶습니다 많은 항목을 보유하고 있습니다. 주변에보고 한 후
내가했던 방법을 사용하여 필터를 기운 것 같다 그래서 난이 방법으로 다시 복귀 (난 그냥 올바른 예를 발견 havent 한 할 수있을 것입니까?) :
추가 열 :
//Create a new DataTable
dt = new DataTable("Logs");
//Add columns to datatable
dt.Columns.Add("dateTime", typeof(string));
dt.Columns.Add("Service", typeof(string));
dt.Columns.Add("Command", typeof(string));
dt.Columns.Add("Message", typeof(string));
//Set the dataGridView's dataSoure to the filled dataTable
dataGridView_Log.DataSource = dt;
을
추가 행 다음 DGV 나던 행의 적용 밤은 색상에 초점을 가지고 있고 그냥 검은 색 텍스트 그러나 여기
row = dt.NewRow();
row["dateTime"] = logEntry.dateTime;
row["Service"] = logEntry.service;
row["Command"] = logEntry.command;
row["Message"] = logEntry.message;
dt.Rows.Add(row);
dataGridView_Log.Rows[dataGridView_Log.Rows.Count - 1].DefaultCellStyle.ForeColor = logEntry.color;
는 문제입니다. 그러나 DGV가 포커스를 얻 자마자 추가되는 모든 행이 컬러로 표시됩니다.
다른 메모는 한 번 필터링됩니다. 색상이 여전히 올바른 행에 적용되기를 원합니다.
내가 원하는 건 반짝 색상 :
당신의 시간과 도움을 주셔서 감사합니다.
미안 내가 말할 색상을 저장하는
재산권 :
내가 속성의 각 값에 대해 색상을 포함하는 목록을 사용하여 문제를 해결 초점을 맞추면 나는 DGV가 '보일'수 있다는 것을 의미했다. DGV는 처음에 인스턴스화 된 별도의 양식에 있으며, 사용자가 버튼을 클릭하면 닫히는 양식도 덮어 쓰여지고 닫히지 않고 숨겨집니다. 일단 form이 처음 form.show()가되면 색상이 적용됩니다. – Metalstorm