2016-06-21 1 views
0

동적으로 DataGridview 행을 작성하고 있지만 작성한 후에 전체 DataGridview를 반복하지 않는 한 해당 행의 셀의 색상 및 읽기 전용 상태를 설정하는 방법을 정확히 알 수 없습니다.DatGridView 행 - 작성 및 형식화

DataGridViewRow cata = catView.Rows.Add(new Object[] { item.catName,false, mLocalVersion, mServerVersion }); 

cata.Cells[1].ReadOnly = true; 
+0

음 ... 세포 수준에서해야 할 필요가 있습니까? 'datagridview.Columns [1] .ReadOnly = true;는 어떨까요? – Pikoh

+0

네, 열 단위가 아닌 읽기 전용으로 설정해야하는 셀당입니다. 모든 행을 반복하면서 그 다음에 행을 잡을 수 있지만 행이 만들어 질 때 수행하고 싶습니다. –

+0

내 대답이 원하는대로 수행되는지 확인하십시오. – Pikoh

답변

0

내가 DataGridView이 정확하여 행을 추가하는 방법을 생각하지 않는다 : 내가 원하는 무엇

는 다음 (유효하지 않은 코드) 같은 것입니다. 이 코드를 시도하고 당신이 원하는 않는 경우 참조 : 당신은 RowsAdded 이벤트를 사용할 수 있습니다

DataGridViewRow cata = new DataGridViewRow(); 
cata.SetValues("item.catName", false, "mLocalVersion", "mServerVersion"); 
cata.Cells[1].ReadOnly = true; 
catView.Rows.Add(cata); 
+0

안녕하세요, Pikoh, 읽지 못하게 설정하고 있습니다. 전체 행에 대해서만, 행당 하나의 셀로. –

+0

당신 말이 맞아요. 보십시오'cata.Cells [1] .ReadOnly = true;' – Pikoh

0

some cells[1] will be RO and others not

. 이것은 각 행이 추가 될 때 호출되며 필요한 경우 다른 셀을 평가할 수 있습니다. 셀이 RO 변경하다고 판단 것은 (또 다른 셀의 값이 될 수있다) 경우 변경이 검증되고 저장 될 때

private void dgv2_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) 
{ 
    if (dgv2.Rows[e.RowIndex].Cells[1].Value.ToString() == "B") 
    { 
     dgv2.Rows[e.RowIndex].Cells[1].ReadOnly = true; 
    } 
} 

은 또한 RO 속성을 변경해야합니다.