0

複数の行(15行)があるDataGridViewがあります。いくつかの列の値を追加し、それらをforeachloopを使用して配列に格納したいと考えています。次に、配列 (複数の文字列を含む) を別の形式で表示したいと考えています。

現在、stringBuilder を使用して文字列を保存して表示していますが、最後の文字列ストアのみを表示しています。

 StringBuilder listOrderStatus = new StringBuilder();
    foreach (DataGridViewRow rw in grdData.Rows)
    { 

        string _idNumber = rw.Cells[6].Value.ToString();
        string _orderNo = rw.Cells[13].Value.ToString();

        double _ordTotalSpace = double.Parse(rw.Cells[17].Value.ToString());
        double _ordDoneSpace = double.Parse(rw.Cells[18].Value.ToString());
        double _ordRmainSpace = double.Parse(rw.Cells[19].Value.ToString());

        double _TotalSpace = getTotalArea();
        double _DoneSpace = getDoneArea();
        double _RmainSpace = getRmainArea();

        if(_ordTotalSpace ! = _TotalSpace){
            string value = "Invalid Order: Order number" + _orderNo + "ID No." + _idNumber;
            //I want to store this string in the array

            listOrderStatus.Append(value);
            listOrderStatus.AppendLine();
        }
        else{
            string value2 = "Valid Order: Order number" + _orderNo + "ID No." + _idNumber;
            //I want to store this string in the array
            listOrderStatus.Append(value2);
            listOrderStatus.AppendLine();
        }
    }

    string innerString = listOrderStatus.ToString();
    //This a new form to display strings in simple multiline-TextBox (Never mind, this is client request :P)
    var myForm = new Other.frmDisplayData();
    myForm._clist = innerString;
    myForm.Show();

誰でも私を導くことができますか?前もって感謝します

4

2 に答える 2

0

StringBuilderの使用を主張していますか?! そうでない場合は、以下のようなものを使用できます。

StringBuilderの代わりにグローバルとして定義します。

List<string>  listOrderStatus =  new List<string>();

その後

string value = "Invalid Order: Order number" + _orderNo + "ID No." + _idNumber;
listOrderStatus.Add(value);

それから

 myForm._clist = listOrderStatus;

ノート:

  1. 私が書いた最初のコード行のように、_clistを文字列のリストとして定義する必要があります。

  2. この場合、改行を使用する必要はありません。ただし、使用する場合は、次のようにします。

string value = "Invalid Order: Order number" + _orderNo + "ID No." + _idNumber;
value += System.Environment.NewLine;
  1. 辞書定義を使用することもできます:
Dictionary<int,string> Name = new Dictionary<int,string>();
于 2013-05-15T18:52:35.393 に答える
0

_clist を使用して multiLineTextBox.Text に割り当てる方法は?

multilineTextBox.Multiline = true;
multilineTextBox.Scrollbars = Scrollbars.Both;
multilineTextBox.Text = _clist;

これは、少なくともあなたが必要とする最低限のものでしょうか?表示したい文字列全体が _clist にあることをデバッグで確認できますか?

于 2015-03-15T20:41:35.317 に答える