You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TextBox各行内容对应填充至ListView的不同列?

问题描述

我在谷歌上搜索后没找到相关实现示例,希望把TextBox的各行内容对应填入ListView的列中,比如第1行→第1列,第2行→第2列,第3行→第3列等。求VB.NET、C#或LINQ的实现示例。

当前错误效果

运行现有代码后,TextBox的每一行内容都会被重复填入ListView的所有列中,不符合预期。

已尝试的VB.NET代码

For Each strLine In TextBox42.Lines
        strLine.Split(vbNewLine)

        ListView5.Items.Add(New ListViewItem(New String() {strLine, strLine, strLine, strLine, strLine, strLine, strLine, Today.Date}))

    Next

需求效果

每次点击按钮时,将TextBox各行的内容对应填入ListView的一行中:第1行内容填第1列,第2行填第2列……暂无数据的列用短横线-填充,最后一列显示当前日期;后续可修改补充空列的内容。

其他尝试过的VB.NET代码

ListView5.Items.AddRange(Array.ConvertAll(Enumerable.Range(0, TextBox42.Lines.Length).ToArray, Function(x) New ListViewItem(New String() {TextBox42.Lines(x)})))
解决方案

VB.NET 实现

' 按实际列数修改此值,示例中为8列(前7列对应TextBox行,第8列是日期)
Dim columnCount As Integer = 8
Dim textBoxLines As String() = TextBox42.Lines
' 初始化数组,所有列默认填充短横线
Dim itemContent(columnCount - 1) As String
Array.Fill(itemContent, "-")

' 将TextBox行内容对应填充到列,避免索引越界
For i As Integer = 0 To Math.Min(textBoxLines.Length - 1, columnCount - 2)
    itemContent(i) = textBoxLines(i).Trim()
Next

' 设置最后一列的日期
itemContent(columnCount - 1) = Today.Date.ToString()

' 添加到ListView
ListView5.Items.Add(New ListViewItem(itemContent))

C# 实现

// 按实际列数修改此值,示例中为8列(前7列对应TextBox行,第8列是日期)
int columnCount = 8;
string[] textBoxLines = textBox42.Lines;
// 初始化数组,所有列默认填充短横线
string[] itemContent = Enumerable.Repeat("-", columnCount).ToArray();

// 对应填充TextBox行内容,防止索引超出范围
for (int i = 0; i < Math.Min(textBoxLines.Length, columnCount - 1); i++)
{
    itemContent[i] = textBoxLines[i].Trim();
}

// 设置最后一列的日期
itemContent[columnCount - 1] = DateTime.Today.ToString();

// 添加到ListView
listView5.Items.Add(new ListViewItem(itemContent));

关键说明

  • 根据你的ListView实际列数调整columnCount的值;
  • 用Math.Min避免TextBox行数超过列数(除日期列)时的索引越界问题;
  • Trim()用于去除每行内容的首尾空白,保证显示整洁;
  • 空列默认填充短横线,满足后续可修改的需求。

内容的提问来源于stack exchange,提问作者John Michael Wilkinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:47:31