Рейтинг:
22
Ekona_Pikin
Вы можете просто поместить код, который хотите выполнить, в свой собственный метод, а затем вызвать его из обоих обработчиков событий. Конечно, вам придется самостоятельно указать индекс строки в обработчике событий для события click кнопки.
Вот так ==>
private void DoMyFunction(int rowIndex)
{
//Сделайте свой расчет здесь, хорошо:))}
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5 || e.ColumnIndex == 6)
{
DoWork(e.RowIndex);
}
}
private void button3_Click(object sender, EventArgs e)
{
int row = 0; //always specify the row here...
DoMyFunction(row);
}
Надеюсь, что это поможет...
Рейтинг:
1
Joan Magnet
Конечно, вы можете ссылаться на свой объект gridview:
Управления gridview1.Строк[различие].Ячейки[cell_number].Value = your_calculations.
Взгляните на методы и свойства класса DataGridView.
Класс DataGridView
Richard Deeming
Вам просто нужно создать экземпляр DataGridViewCellEventArgs
класс и передать его методу:
var args = new DataGridViewCellEventArgs(theColumnIndex, theRowIndex);
dataGridView2_CellContentClick(dataGridView2, args);
Julia Fraveau
Спасибо Ричард, я скопировал код ur, var args = new DataGridViewCellEventArgs(theColumnIndex, theRowIndex);
dataGridView2_CellContentClick(dataGridView2, args);
но я получаю его крики на меня о параметрах, которые мне нужно сначала объявить theColumnIndex и theRowIndex?
Richard Deeming
Вам нужно будет заменить его theColumnIndex
и theRowIndex
с индексами столбцов и строк, которые вы хотите обработать.
Julia Fraveau
Еще раз спасибо за ваше время и руководство Ричард, я сделал вот так var args = new DataGridViewCellEventArgs(ColumnIndex, RowIndex);
dataGridView2_CellContentClick(dataGridView2, аргументы);columnindex и rowindex являются двумя индексами здесь но я все еще получаю errorrs, и когда я парить вокруг DataGridViewCellEventArgs я вижу (инт значение columnindex и rowindex инт)понятия не имею, почему до сих пор ,получаю ошибки
Richard Deeming
Какие ошибки вы получаете?
Julia Fraveau
использовать неинициализированные переменные ==&ГТ;значение columnindex и rowindex
Richard Deeming
Вам нужно будет назначить переменные, прежде чем использовать их.
Julia Fraveau
Вот именно, я так и сделал ,но Эрро не хотят уходить.
Richard Deeming
Если вы все еще получаете ошибку "неназначенная переменная", то вы не назначили переменную до ее использования.
Julia Fraveau
теперь я действительно сделал public int theRowIndex{get;set},public int theRowIndex{get;set} ошибки исчезли ,но когда я нажимаю кнопку, ничего не происходит, я вытаскиваю все это вместе с методом ur на кнопке
Julia Fraveau
Эй , спасибо, Ричард,я наконец-то нашел способ обойти это, используя выражение лица, спасибо за всю вашу помощь:))
Joan Magnet
Если вы импортируете данные из базы данных, вам следует использовать DataTable.
Вы можете внести изменения в поля своей базы данных, прежде чем привязывать этот datatable к вашей datagrid.
<pre>
foreach(строка DataRow в таблице yourtable.Строки)
{
// вычислите строки здесь.
}
</pre>
или вы можете добавить обработчик событий для события RowsAdded. Каждый раз, когда новая строка добавляется в вашу сетку, этот обработчик будет вызываться.
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowsadded(v=против 110).aspx
Joan Magnet
вот несколько примеров:
http://stackoverflow.com/questions/10551607/calculation-columns-in-datagridview-bounded-to-an-object
Julia Fraveau
Привет @Жанна , расчеты работают ,но каждый раз, когда мне нужно будет кликнуть климатик клетки говорят, что если есть 1000 строк ,это много, сэр Джоан, есть ли способ я могу использовать GridView в способ, проведенные выше в мой код в button_click появилась();указал выше @Ричард, считая, что я должен использовать =&ГТ; ВАР параметр args = новый DataGridViewCellEventArgs(theColumnIndex, theRowIndex);
dataGridView2_CellContentClick(dataGridView2, args);
Я получаю ошибки в параметрах .
Рейтинг:
1
Member 13323226
Привет всем моим дорогим друзьям...
использовать это...
частная btnChoose_Click недействительным(объект отправителя, EventArgs в электронной) {
MouseEventArgs b = новый MouseEventArgs(System.Окна.Формы.Кнопки мыши.Слева, 2,
Мышиное положение.X, MousePosition.Y, 0);
DataGridViewCellMouseEventArgs a = новый DataGridViewCellMouseEventArgs(0, 0,
Мышиное положение.X, MousePosition.Y, b);
dataGridView1_CellMouseDoubleClick(отправителя, );
}
наслаждаться этим...