将数据集或数据网格视图转换为带列的文本

时间:2014-05-07 13:39:15

标签: vb.net datagridview textbox dataset

我尝试创建自己的SQL QUERY Analyzer。 它与datagridview完美配合。

但我尝试添加一个提供文本模式版本的版本。我希望这个文本模式在列中包含数据,以获得干净的视图。

我尝试使用此代码将数据放入文本框的列中,但它非常慢! (其他方面,数据似乎没有在列中对齐,但如果我复制到记事本中的文本框包含,它看起来很棒)。

For increm = 0 To DataGridSQLQuery.RowCount - 2
    For inc = 0 To DataGridSQLQuery.ColumnCount - 1
        str = ""
        str = str.PadRight(DataGridSQLQuery.Columns(inc).Width - DataGridSQLQuery.Rows(increm).Cells(inc).Value.ToString.Length, padvide)
        txtMessageErreur.Text = txtMessageErreur.Text + DataGridSQLQuery.Rows(increm).Cells(inc).Value.ToString + str + " "
    Next
     txtMessageErreur.Text = txtMessageErreur.Text & Environment.NewLine
 Next

是否可以在一秒钟内链接数据以创建文本模式版本。我可以使用其他工具而不是文本框吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

字符串是不可变的,因此必须一遍又一遍地重新创建str。如果有很多行或列,请使用stringbuilder:

Dim sb As New StringBuilder

For r As Integer = 0 To DataGridSQLQuery.RowCount - 2
    For c = 0 To DataGridSQLQuery.ColumnCount - 1
        sb.Append( your text to add to the string )

        sb.Append(Environment.NewLine)
        txtMessageErreur.Text = sb.Tostring

        sb.Clear      ' reset for next iteration
    Next c
Next r

除非您使用等宽字体,否则文本不会在文本框或列表框中排列。 Wi占用更多空间。 PadLeft / Right将有所帮助,但不是很多