Usuário com melhor resposta
DataGridView - Multiplas linha na mesma celula

Pergunta
-
Respostas
-
Edilson,
Você pode usar o evento CellFormating para definir o WrapMode da sua célula para True.
No caso, para que as linhas sejam redimensionadas corretamente, você também deverá setar o AutoSizeRowsMode para AllCells.
Seria tipo:
grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; grid.CellFormatting += new DataGridViewCellFormattingEventHandler(OnGridCellFormatting); private void OnGridCellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { // verifica a coluna e seta o WrapMode... if (e.ColumnIndex == 0) e.CellStyle.WrapMode = DataGridViewTriState.True; }
at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)- Marcado como Resposta Edilson quarta-feira, 13 de julho de 2011 16:46
-
Rogério,
perfeito, muito obrigado.
eu fiz assim no meu:
for (int linha = 1; linha <= oDoc.Tables[1].Rows.Count; linha++) { for (int coluna = 1; coluna <= oDoc.Tables[1].Columns.Count; coluna++) { if (String.IsNullOrEmpty(oDoc.Tables[1].Cell(linha, coluna).Range.Text.Replace("\r", string.Empty).Replace("\a", string.Empty)) == false) { grdEtiqueta.Rows[linha - 1].Cells[colunaReal].Style.WrapMode = DataGridViewTriState.True; grdEtiqueta.Rows[linha - 1].Cells[colunaReal].Value = oDoc.Tables[1].Cell(linha + 1, coluna).Range.Text; colunaReal+=1; } } colunaReal = 0; }
att- Marcado como Resposta Edilson quarta-feira, 13 de julho de 2011 16:52
Todas as Respostas
-
Edilson,
Você pode usar o evento CellFormating para definir o WrapMode da sua célula para True.
No caso, para que as linhas sejam redimensionadas corretamente, você também deverá setar o AutoSizeRowsMode para AllCells.
Seria tipo:
grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; grid.CellFormatting += new DataGridViewCellFormattingEventHandler(OnGridCellFormatting); private void OnGridCellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { // verifica a coluna e seta o WrapMode... if (e.ColumnIndex == 0) e.CellStyle.WrapMode = DataGridViewTriState.True; }
at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)- Marcado como Resposta Edilson quarta-feira, 13 de julho de 2011 16:46
-
Rogério,
perfeito, muito obrigado.
eu fiz assim no meu:
for (int linha = 1; linha <= oDoc.Tables[1].Rows.Count; linha++) { for (int coluna = 1; coluna <= oDoc.Tables[1].Columns.Count; coluna++) { if (String.IsNullOrEmpty(oDoc.Tables[1].Cell(linha, coluna).Range.Text.Replace("\r", string.Empty).Replace("\a", string.Empty)) == false) { grdEtiqueta.Rows[linha - 1].Cells[colunaReal].Style.WrapMode = DataGridViewTriState.True; grdEtiqueta.Rows[linha - 1].Cells[colunaReal].Value = oDoc.Tables[1].Cell(linha + 1, coluna).Range.Text; colunaReal+=1; } } colunaReal = 0; }
att- Marcado como Resposta Edilson quarta-feira, 13 de julho de 2011 16:52