0

DataGridView コンポーネントの問題に直面しています。DataGridView コンポーネントはセルを結合できないことを知っています!

上記の例のように、2 つの行から 2 つのセルを結合する方法はありますか?

  **************************
  * 名 | 苗字 *
  * ---------- |---------- *
  * | | デビッド *
  * スミス | ---------- *
  * | | アンナ *
  *------------|---------- *
  * マイケル | ダニエル *
  **************************

  等
4

1 に答える 1

0

こんな感じでやってみてください

        this.Paint += new PaintEventHandler(dataGridView1_Click); //Call event while loading

        private void dataGridView1_Click(object sender, PaintEventArgs e)
        {
        Font fnt = new Font("Arial", 10, FontStyle.Bold, GraphicsUnit.Point);
        Rectangle rct1 = new Rectangle((dataGridView1.GetColumnDisplayRectangle(0, true).X), (dataGridView1.GetColumnDisplayRectangle(0, true).Y + dataGridView1.Columns[0].HeaderCell.ContentBounds.Height + 8), dataGridView1.GetColumnDisplayRectangle(0, true).Width - 1, (dataGridView1.GetRowDisplayRectangle((dataGridView1.Rows.Count - 1), true).Top - dataGridView1.GetRowDisplayRectangle((dataGridView1.Rows.Count - 1), true).Height));
        // Create string to draw.
        String drawString = "Sample Text";
        // Create font and brush.
        Font drawFont = new Font("Arial", 16);
        SolidBrush drawBrush = new SolidBrush(Color.Black);
        // Create point for upper-left corner of drawing.
        float x = 150.0F;
        float y =  50.0F;
        // Set format of string.
        StringFormat drawFormat = new StringFormat();
        drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;
        // Draw string to screen.

        e.Graphics.FillRectangle(Brushes.White, rct1);
        e.Graphics.DrawString(drawString, drawFont, drawBrush, x, y, drawFormat);
        Rectangle rct =new Rectangle();
        rct = dataGridView1.GetRowDisplayRectangle(3, true)
        rct.Height -= 1;
        SizeF s =new  SizeF();
            s= e.Graphics.MeasureString("HORINZONTAL TEXT", dataGridView1.Font);
        float lefts = (rct.Width / 2) - (s.Width / 2);
        float tops  = rct.Top + ((rct.Height / 2) - (s.Height / 2));
        e.Graphics.FillRectangle(Brushes.White, rct);
        e.Graphics.DrawString("HORINZONTAL TEXT", fnt, Brushes.Black, 2, tops);
       }
于 2012-10-11T11:08:07.387 に答える