0

重複の可能性:
datagridview dynamic with image

彼は、datagridview を動的に作成するのを手伝ってくれました。C# Windows フォーム

目的は、IP または HostName の成功のリストを ping することであり、応答に応じてグリッド (ホスト、日付、およびイメージの赤または緑) に挿入された場合。

グリッドを書き込むこの関数がありますが、1 つの ping が成功しない場合、他のすべてのRedball.

private void TabelaDinamimca(bool sucesso,string host, string data)
{
    GridView1.ColumnCount = 3;

    GridView1.Columns[1].Name = "host";
    GridView1.Columns[2].Name = "data";
    DataGridViewImageColumn img = new DataGridViewImageColumn();
    string path = (sucesso == true 
                  ? @"C:\TestFolder\greenBall.png" 
                  : @"C:\TestFolder\redBall.png");
    Image image = Image.FromFile(path);
    img.Image = image;
    GridView1.Columns.Add(img);
    string[] row = new string[] { host, data };
    GridView1.Rows.Add(row);
    GridView1.Show();
}

注: デバッグ モードでは、bool sucesso ケースErroは false です。

解決

private void TabelaDinamimcaSucess(bool sucesso, int index, string host, string data, string tempo,string status)
    {

       string[] row = new string[] { index.ToString(), host, data, tempo,status };
       dataGridView1.Rows.Add(row);

        int number_of_rows = dataGridView1.RowCount -1;

        Bitmap b = new Bitmap((sucesso == true ? Properties.Resources.greenBall : Properties.Resources.redBall));
        Icon icon = Icon.FromHandle(b.GetHicon());

        dataGridView1.Rows[number_of_rows].Cells["img"].Value = icon;

        dataGridView1.Show();
    }
4

0 に答える 0