我在数据库(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窗体应用程序的datagridview中。
我的预期可能是(忽略头文,无所谓)。
这意味着将长字符串拆分为多个短字符串。每个字符串占一行。 最初它在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,我不知道如何编辑列来自定义项目。但我只是觉得它们可能很相似。
感谢您的帮助。
答案 0 :(得分:0)
在Windows应用程序中,首先需要做的是更改DataGridView RowStyle,以便根据您的内容自动调整大小
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.Fill;
dataGridView1.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True;
然后用换行符替换逗号
Eval("test").ToString().Replace(",", System.Environment.NewLine);