2012-04-25 3 views
0

Я хотел бы добавить пользовательский метод для каждой строки, то есть открытую форму формы, которая отображает детали для строки сетки, на которую была нажата кнопка.DevExpress XtraGrid - ImageButton в каждой строке

Есть ли для этого легкое решение?

EDIT:

Что случилось с моим кодом, чтобы стиль кнопки?

Image img = imageList1.Images[5]; 
      repositoryItemButtonEdit1.Buttons.Clear(); 
      repositoryItemButtonEdit1.Buttons.Add(new EditorButton(ButtonPredefines.Left, "View Filter", 16, true, true, true, ImageLocation.Default, img)); 
      repositoryItemButtonEdit1.ButtonPressed += new ButtonPressedEventHandler(repositoryItemButtonEdit1_ButtonPressed); 

ANSWER (используйте Glyph)

Image img = imageList1.Images[5]; 
repositoryItemButtonEdit1.Buttons.Clear(); 
repositoryItemButtonEdit1.Buttons.Add(
    new EditorButton(
     ButtonPredefines.Glyph, 
     "", 
     16, 
     true, 
     true, 
     true, 
     ImageLocation.Default, 
     img 
    ) 
); 
repositoryItemButtonEdit1.ButtonPressed += newButtonPressedEventHandler(repositoryItemButtonEdit1_ButtonPressed); 
+0

Этот код кнопки стиль выглядит правильно для меня, какие вопросы вы имея с ним? – Jay

+0

Теперь я редактирую решение! – Mauro

ответ

1

Самый простой способ сделать это, чтобы добавить RepositoryItemButtonEdit как ColumnEdit для столбца.

Убедитесь, что свойство RepositoryItemButtonEdit установлено в TextEdit, и настройте свойство кнопок так, чтобы у вас была кнопка изображения.

Затем обработайте пункт ButtonPressed Event объекта репозитория.

Простой обработчик событий может выглядеть примерно так:

C#

private void RepositoryItemButtonEdit1_Click(object sender, System.EventArgs e) 
{ 
    WhateverClass MyData = (WhateverClass)GridView1.GetFocusedRow(); 
    Form1 frmEdit = new Form1(MyData); 
    frmEdit.Show(); 
} 

vb.net

Private Sub RepositoryItemButtonEdit1_Click(sender As Object, e As System.EventArgs) Handles RepositoryItemButtonEdit1.Click 
    Dim MyData As WhateverClass= CType(GridView1.GetFocusedRow(), WhateverClass) 
    Dim frmEdit As New Form1(MyData) 
    frmEdit.Show() 
End Sub 
+0

Я попробую! – Mauro

+0

Вы его разобрали? – Jay

+0

Я попробую. Не волнуйся, я помечаю как принятый, как только проверю. – Mauro

1

лишь некоторое дополнение к выше ответу, потому что я сталкивался с подобной проблемой ранее ,

  1. Если вы хотите использовать изображение для кнопки RepositoryItemButtonEdit, не забудьте установить свойство «Тип кнопки» в «Глиф».
  2. Если вы хотите также отобразить кнопку Caption на кнопке редактора, вы должны установить ImagePosition для другого, а затем MiddleCenter.
  3. Я предпочел бы использовать событие ButtonClick и проверить свойство индекса кнопки редактора.
  4. This ссылка описывает интересную ситуацию вокруг этого сценария.

Надеюсь, это будет полезно.

С уважением, Zoltán

Смежные вопросы