0

列にテキストボックスまたは画像を含めるにはどうすればよいですか?テキストであろうと画像であろうと、その1つの列に任意のタイプのデータを追加しようとしています。C#でこれを行うにはどうすればよいですか?

プログラムで、テキストボックスと画像の両方を同じ列に配置します...どうすればよいですか?

4

2 に答える 2

2

これが例です。ただし、デフォルトの画像を処理する必要があります(これがない場合は、クロスマークされた画像が表示されます)。このMSDNリンクを参照してください

    private void Form1_Load(object sender, EventArgs e)
    {
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("Name");
        dataTable.Columns.Add("Image");

        dataTable.Rows.Add("Desert", @"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg");
        dataTable.Rows.Add("Tulips", @"C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg");

        dataTable.AcceptChanges();

        DataGridViewTextBoxColumn textColumn = new DataGridViewTextBoxColumn();
        textColumn.DataPropertyName = "Name";
        textColumn.HeaderText = "Name";
        textColumn.Width = 100;
        dataGridView1.Columns.Add(textColumn);

        DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
        imageColumn.DataPropertyName = "Image";
        imageColumn.HeaderText = "Image";
        imageColumn.Width = 100;            
        dataGridView1.Columns.Add(imageColumn);

        dataGridView1.DataSource = dataTable;
    }

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        if (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewImageColumn)
        {
            string imagePath = (e.Value ?? "").ToString().Trim();
            if(System.IO.File.Exists(imagePath))
                e.Value = Image.FromFile(imagePath);
        }
    }
于 2012-07-16T01:47:21.913 に答える
0

TextBox内にコントロールを追加するにはDataGridView、スマートタグをクリックして、[列の追加]を選択します。DataGridViewTextColumn[追加]を選択してクリックします。画像を選択DataGridViewImageColumnする場合に選択します。

ここに画像の説明を入力してください

于 2012-07-16T01:28:19.140 に答える