삭제 된 Datarow를 (infragistics.ultra-) 그리드로 표시합니다.

StackOverflow https://stackoverflow.com/questions/1411874

  •  05-07-2019
  •  | 
  •  

문제

DatArowState.deleted가있는 데이터 테이블에서 Datarow를 표시 할 수 있습니까?

시나리오 : 사용자는 그리드에 표시된 일종의 조회 기능을 편집 할 수 있습니다. 이제 여러 항목을 삭제, 수정 또는 삽입 한 후 마지막으로 모든 변경 사항을 데이터베이스에 한 번의 클릭하여 저장할 수 있습니다 (1 차 키 폭력이 없거나 다른 문제가 없다고 가정 함).

이제 편집 상태에 따라 다른 행을 채색하고 싶지만 삭제 된 행은 즉시 사라집니다.

이 문제를 해결하기위한 아이디어 나 다른 접근법이 있습니까?

도움이 되었습니까?

해결책

편집 : 나는 그것을 깨달았습니다 Grid 당신은 사용 중이 아닙니다 DataGridView. 똑같이하고 싶은 사람에게 DataGridView, 그들은 다음을 수행 할 수 있습니다.

  1. a DataView:

    DataView myDataView = 
          new DataView(myDataTable, 
                       String.Empty,       // add a filter if you need one
                       "SortByColumn",
                       DataViewRowState.OriginalRows | DataViewRowState.Deleted); 
    
    myDataGridView.DataSource = myDataView;
    
  2. 핸들 UserAddedRow, UserDeletedRow 그리고 CellValueChanged 이벤트 :

    private void myDataGridView_UserAddedRow
                (object sender, DataGridViewRowEventArgs e)
    {
        e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#CCFF99");
    }
    
    private void myDataGridView_UserDeletedRow
                (object sender, DataGridViewRowEventArgs e)
    {
        e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FFCC99");
    }
    
    private void myDataGridView_CellValueChanged
                (object sender, DataGridViewCellEventArgs e)
    {
       myDataGridView[e.ColumnIndex, e.RowIndex].DefaultCellStyle.BackColor 
                                              = ColorTranslator.FromHtml("#FFFF99");
    }
    
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top