2

dataGridView から textbox への変換について質問があります。x が表示されたら、それを Headername に置き換えたい

ここにdataGridviewがあります:

Name   A    B    C    D    ...
kiki   x         x         ...  
lola        x              ...
maja   x         x    x    ...

テキストボックスに入れたい:

kiki A,C    ...
lola B      ...
maja A,C,D  ... 

私のコードは次のようになります。

string abc = "";
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
    {
    for (int j = 1; i < dataGridView1.Columns.Count - 1; i++)
        {

            if(dataGridView1.Rows[i].Cells[j].Value.ToString() != "x")
               abc = dataGridView1.Columns[j].HeaderText.ToString();               

            richTextBox1.Text += dataGridView1.Rows[i].Cells["Name"].Value.ToString() + " " + abc;
            //or something like that, can some1 give me a key?  
        } 
    }

誰かがそれを手伝ってくれますか?やり方がわからないので、アイデアをください

4

1 に答える 1

1

これはうまくいくはずです。このコードはすべてを 1 つの複数行にまとめrichTextBox、各行を新しい行に追加します。

            for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
        {
            string text = dataGridView1.Rows[i].Cells["Name"].Value.ToString() + " " ;
            bool added = false;
            for (int j = 1; j < dataGridView1.Columns.Count; j++)
            {

                if (dataGridView1.Rows[i].Cells[j].Value.ToString() == "x")
                {
                    text += dataGridView1.Columns[j].HeaderText.ToString() + ",";
                    if (!added)
                        added = true;
                }
            }
            if(added)
            {
                text = text.Remove(text.Length - 1); //to remove ',' at the end
            }
            richTextBox1.Text += text + Environment.NewLine; //add to richTextbox1 with newline
        }
于 2012-11-05T13:28:48.873 に答える