sometimes I want to hide buttons in a DataGridViewButtonColumn

后端 未结 9 1110
清歌不尽
清歌不尽 2020-12-20 15:50

I have a DataGridView which was the subject of a previous question (link). But sometimes the Button is null. This is fine. But if it is null, is th

9条回答
  •  一个人的身影
    2020-12-20 16:10

    I had the same "problem" today. I also wanted to hide buttons of certain rows. After playing around with it for a while, I discovered a very simple and nice solution, that doesn't require any overloaded paint()-functions or similar stuff:

    Just assign a different DataGridViewCellStyle to those cells.
    The key is, that you set the padding property of this new style to a value that shifts the whole button out of the visible area of the cell.
    That's it! :-)

    Sample:

    System::Windows::Forms::DataGridViewCellStyle^  dataGridViewCellStyle2 = (gcnew System::Windows::Forms::DataGridViewCellStyle());
    dataGridViewCellStyle2->Padding = System::Windows::Forms::Padding(25, 0, 0, 0);
    
    dgv1->Rows[0]->Cells[0]->Style = dataGridViewCellStyle2;
    // The width of column 0 is 22.
    // Instead of fixed 25, you could use `columnwidth + 1` also.
    

提交回复
热议问题