簡體   English   中英

屬性從每行datagridview返回文本

[英]property return text from each row datagridview

我需要一個屬性,該屬性返回datagridview每一行的文本。 我不知道我的工作方式是否可行。它說我不在當前情況下。 我的代碼:

  TextBox[] text1=new TextBox[100];

  public string [] RowText
    {
        get
        {
                return text1[i].Text; 
        }
        set
        {
            int i = 0;
            foreach (DataGridViewRow row in datagridview1.Rows)
            {
                for ( i = 0; i < datagridview1.Rows.Count; i++)
                {
                    text1[i].Text= row.Cells[i].Value.ToString();
                }
            }
        }
    }

首先,如果i不是全局變量,則應在get子句中聲明它。 然后text1[i].Text返回單個字符串,但是您的Property返回一個數組,因此將其更改為:

get
{
        return new string[] { text1[i].Text };
}

你的設置也沒有多大意義。 如果您能更好地解釋您想要實現的目標,也許我會為您提供幫助。

首先,您不需要設置器-將代碼放入獲取器或對象的構造函數中。 您將返回一個TextBox對象數組,但是屬性簽名指出您正在返回一個字符串數組。

如果要返回字符串數組,則可能:

  public string [] RowText
    {
        get
        {
            List<string> text = new List<string>();
            foreach (DataGridViewRow row in datagridview1.Rows)
            {
                text.Add(row.Cells[i].Value.ToString());
            }
            return text.ToArray();
        }
    }

實際上,仔細查看您的代碼,由於for循環,它可能會失敗。 您的代碼假定該行包含的單元格數與行數相同。 這可能適用於您的情況,但不太可能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM