Я бы сделал это с помощью того, что фреймворк уже предоставляет:
1) Сначала сгенерируйте класс команд:
php artisan make:command TestClean
Это сгенерирует класс команд в App \ Console \ Commands [ 118]
Затем внутри метода handle этого класса команд напишите:
@unlink('/var/www/html/test.html');
Дайте вашей команде имя и описание и выполните:
php artisan list
Просто для подтверждения, что ваша команда в списке.
2) В свой контроллер импортируйте Artisan фасад.
use Artisan;
3) Затем в своем контроллере напишите следующее:
Artisan::call('test:clean');
Пожалуйста, обратитесь к документации для дальнейшего использования: https://laravel.com/docs/5.7/artisan # генераторных-команда
Разделите на подклассы DataGridView
и создайте a MouseDown
событие для сетки,
private void SubClassedGridView_MouseDown(object sender, MouseEventArgs e)
{
// Sets is so the right-mousedown will select a cell
DataGridView.HitTestInfo hti = this.HitTest(e.X, e.Y);
// Clear all the previously selected rows
this.ClearSelection();
// Set as selected
this.Rows[hti.RowIndex].Selected = true;
}
Можно использовать код JvR в Событии mouseDown DataGridView.
// Clear all the previously selected rows
foreach (DataGridViewRow row in yourDataGridView.Rows)
{
row.Selected = false;
}
// Get the selected Row
DataGridView.HitTestInfo info = yourDataGridView.HitTest( e.X, e.Y );
// Set as selected
yourDataGridView.Rows[info.RowIndex].Selected = true;
прохладная вещь, добавляет меню при том щелчке правой кнопкой, например, с опцией как "Информация о клиенте представления", "проверяют последние счета", "Добавьте запись в журнале к этому клиенту", и т.д.
просто необходимо добавить объект ContextMenuStrip, добавить, что записи меню, и в свойствах DataGridView просто выбирают ContextMenuStrip его.
Это создало бы новое меню в строке пользователь, по которому щелкают правой кнопкой со всеми опциями, затем все, что необходимо сделать, делают волшебство :)
помните необходимость в коде JvR для получения то, в чем строка была пользователем, затем захватите ячейку, которая содержит Клиентский идентификатор, например, и передайте ту информацию.
надежда это помогает улучшению Вашего приложения
Сделать так, чтобы она работала так же, как левая кнопка мыши? например,
private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex];
}
}
Вы должны сделать две вещи:
Очистить все строки и выбрать текущую. Я просматриваю все строки в цикле и использую Bool Expression i = e.RowIndex
для этого
. Если вы выполнили шаг 1, у вас все еще есть большая ошибка:
DataGridView1.CurrentRow не возвращает ранее выбранную строку (что довольно опасно). Поскольку CurrentRow доступен только для чтения, вам необходимо выполнить
Me.CurrentCell = Me.Item (e.ColumnIndex, e.RowIndex)
Protected Overrides Sub OnCellMouseDown (
ByVal e как System.Windows.Forms.DataGridViewCellMouseEventArgs)
MyBase.OnCellMouseDown (e)
Выберите Case e.Button
Корпус Windows.Forms.MouseButtons.Right
Если Me.Rows (e.RowIndex) .Selected = False, то
Для i As Integer = 0 To Me.RowCount - 1
SetSelectedRowCore (я, я = e.RowIndex)
следующий
Конец, если
Me.CurrentCell = Me.Item (e.ColumnIndex, e.RowIndex)
Конец Выбрать
Конец подписки