2011-05-06 4 views
2

래핑 할 수있는 텍스트 열이있는 폼에 databound datagridview가 있습니다. 열을 새로 고칠 때 행의 내용이 줄 바꿈 되어도 (따라서 여러 줄로 묶여 있어도) 각 행의 높이가 단일 줄 높이로 되돌려집니다.특정 DataGridView 셀의 텍스트가 배치되는지 확인

특정 행에 대한 열의 데이터가 현재 줄 바꿈 중인지 여부를 프로그램 적으로 결정할 수 있어야합니다. 데이터가 여러 줄로 길어 지는지 확인하는 속성이 있습니까?

+0

https://stackoverflow.com/questions/17526280/datagridview-to-show-cell-content-completely – Slai

답변

1

나는 몇 가지 질문을하고 있다고 생각합니다. 둘 다에 응답은 "예"입니다.

먼저 텍스트의 길이 또는 형식. 이 개행 문자가 포함되어 있는지 확인하기 위해 문자열로 셀의 값을 확인하거나 더 오래 X 문자보다 긴 경우 (내가 당신에게 좋은 X 세우는 행사 떠나) :

if(gridView.Rows[i].Cells[j].Value.ToString().Contains(Environment.NewLine) 
     || gridView.Rows[i].Cells[j].Value.ToString().Length > x) 
    ... 

둘째, 당신은 또한 수 단어 - 줄 바꾸기 모드에서 행이 현재 표시되는지 확인합니다. 이 경우, 그것은의 조합으로 크기해야 수평 및 수직 :

if(gridView.Rows[i].Cells[j].Style.WrapMode = DataGridViewTriState.True) 
    ... 
+0

그것은하지 않습니다 .Value는 줄 바꿈 될 때 줄 바꿈을 포함합니다. – Dave

+0

사실 일 수 있습니다. 실제 문자열에 개행 문자가없는 경우 텍스트는 다른 단어 나누기 (주로 공백)를 기준으로 분할됩니다. 줄 바꾸기가 설정되었으므로 줄 바꿈으로 인해 줄 바꿈 문자가 줄 바꿈 문자로 추가되지 않습니다. 그러나 문자열에 개행 문자가있는 경우 WrapMode가 Yes로 설정되어 있지 않으면 발생하지 않는 문자를 새 문자로 간주해야합니다. – KeithS

관련 문제