0

我在数据库(MS SQL)表中有一个很长的字符串,例如

'99024','99050','99070','99143','99173','99191','99201','99202','99203','99204','99211','99212','99213','99214','99215','99217','99218','99219','99221','99222','99231','99232','99238','99239','99356','99357','99371','99374','99381','99382','99383','99384','99385','99386','99391','99392'

现在它显示为 Windows 窗体应用程序的数据网格视图。 图 1

我所期望的可能是(忽略标题,没关系)。 图 2

这意味着将一个长字符串拆分为许多短字符串。每个字符串占一行。最初通过以下代码在 asp.net gridview 中做得很好:

<ItemTemplate>
    <div style="width: 75px; overflow: hidden; white-space: nowrap; word-wrap: break-word;">
         <asp:TextBox ID="TextBox1" runat="server" Wrap="true" TextMode="MultiLine" Text='<%# Eval("ICD9").ToString().Replace(",", Environment.NewLine.ToString())%>'
          Rows='<%# Eval("test").ToString().Split(new string[] { "," }, StringSplitOptions.None).Length %>'
             </asp:TextBox>
            </div>
            </ItemTemplate>
 <EditItemTemplate>
        <div style="width: 75px; overflow: hidden; white-space: nowrap; word-wrap: break-word;">
              <asp:TextBox ID="TextBox2" runat="server" Wrap="true" TextMode="MultiLine" Text='<%# Eval("ICD9").ToString().Replace(",", Environment.NewLine.ToString())%>
   '>
                       </asp:TextBox>
                            </div>
                        </EditItemTemplate>

现在我想在windows窗体DataGridView中使用它,我不知道如何编辑列来自定义项目。但我只是认为它们可能是相似的。

感谢帮助。

4

1 回答 1

0

在 Windows 应用程序中,首先您需要做的是更改 DataGridView RowStyle 以便它可以根据您的内容自动调整大小

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.Fill;
dataGridView1.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True;

然后用换行符替换逗号

Eval("test").ToString().Replace(",", System.Environment.NewLine);
于 2012-05-08T01:18:43.463 回答