Я в настоящее время использую DataGridView с combobox как свою ячейку в форме окна, и я хочу, когда бы я ни выбрал какой-либо новый элемент в этом поле со списком, я получу сообщение, что я выбрал новый элемент. Может ли кто-нибудь рассказать, какой обработчик событий мне нужно привязать к DataGridView, чтобы это сделать?Вопрос о событии DataGridView
ответ
попробовать это
вы можете использовать DataGridView EditingControlShowing событие
здесь вам нужно проверить тип управления из DataGridView Cell
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
ComboBox cmb = (ComboBox)e.Control;
cmb.SelectedIndexChanged += new EventHandler(cmb_SelectedIndexChanged);
}
}
и в t он SelectedIndexChanged из Combobox
void cmb_SelectedIndexChanged(object sender, EventArgs e)
{
//throw new NotImplementedException();
ComboBox cmbSender = (ComboBox)sender;
MessageBox.Show(cmbSender.Text.ToString());
}
Надеется, что это помогает
Чтобы уточнить, вы хотите отображать сообщение всякий раз, когда пользователь выбирает новый элемент в выпадающем списке?
Если это так, это не имеет никакого отношения к gridview, вы можете использовать javascript/jQuery для этого. Как так:
$("#GridView1 select").change(function() {
var x = $(this, 'option:selected').attr('value');
alert(x);
});
Я также полагаю, что вы смотрите на создание собственных GridViews, они прекрасно подходят для быстрого отображения информации для целей тестирования, но непрактичны продлить. Вы можете создать gridview в коде с помощью StringBuilder. Я использую LINQ to SQL в этом примере, но он показывает, как это сделать. Вместо использования resultSpan.InnherHtml + =, я предлагаю использовать построитель строк.
public void displayLinqCategory()
{
StoreDataContext dbm = new StoreDataContext();
var query = dbm.Categories.Select(c=> new
{
Category = c,
subCategories = dbm.SubCategories.Where(s=> s.CategoryID == c.CategoryID)
}).OrderBy(c=> c.Category.Name);
resultSpan.InnerHtml += "<table class='tableStripe'>";
resultSpan.InnerHtml += "<tr><th width='1%' colspan='2' style='text-align:left;'>ACTIVE</th><th style='text-align:left;'>NAME</th><th width='1%'>#Items</th></tr>";
foreach (var result in query)
{
int i = result.Category.CategoryID;
string active = string.Empty;
bool s = result.Category.Active;
if (s == true)
active = "checked='checked'";
else
active = "";
string catBox = string.Format("<input class='categoryChk'value='{0}' type='checkbox' {1} />", i,active);
resultSpan.InnerHtml += "<tr><td>" + catBox + "</td><td colspan='2'><b>" + result.Category.Name + "</b></td><td></td></tr>";
foreach (var sub in result.subCategories)
{
int si= sub.SubCategoryID;
string sActive = string.Empty;
bool subActive = sub.Active;
if(subActive == true)
sActive = "checked='checked'";
else
sActive ="";
string subBox = string.Format("<input class='subCatChk' value='{0}' type='checkbox' {1} />", si, sActive);
resultSpan.InnerHtml += "<tr><td style='background:#FFF;'></td><td>"+subBox+"</td><td>" + sub.SubCategoryName + "</td><td></td></tr>";
}
}
resultSpan.InnerHtml += "</table>";
}
и результат:
Это был WinForms вопроса ... Но сетка выглядит великолепно. – 26071986
@ 26071986 К сожалению, я прочитал это и увидел веб-формы. Ugh все, что работает .. –
- 1. Вопрос о событии мышей
- 2. Вопрос о событии UILabel
- 3. Прямая маршрутизация Вопрос о событии
- 4. Вопрос о событии проверки формы
- 5. Вопрос о графическом удалении
- 6. Вопрос о событии формы поля onblur (действительно странно!)
- 7. Я получаю вопрос о событии кликов аккордеона в bootstrap
- 8. FLEX: вопрос о диспетчерском событии через иерархии компонентов
- 9. о datagridview
- 10. C# Вопрос о событиях
- 11. Android - уведомление о событии?
- 12. NServiceBus Информация о событии
- 13. Уведомление о событии XShmPutImage
- 14. О событии deviceorientation
- 15. О событии RadioButton CheckedChanged
- 16. Предупреждение о событии JQuery
- 17. Предположения о событии повышения
- 18. Уведомление объектов о событии
- 19. Сообщение о событии ServiceHost?
- 20. WinForms DataGridView Вопрос
- 21. DataGridView CheckBox Вопрос
- 22. Update вопрос в DataGridView
- 23. DataGridView Update/Обновить вопрос
- 24. datagridview viewstate вопрос
- 25. DataGridView вопрос формат даты
- 26. LINQ Вопрос о литье
- 27. Вопрос о
- 28. Как искать/фильтровать datagridview в событии textchanged
- 29. Установка datagridview 'FirstDisplayedScrollingRowIndex' в событии CellMouseEnter
- 30. Выберите строку в DataGridView в событии mouse_click
Спасибо за вашу помощь. Это то, что мне нужно. – Justin