как выбрать полную строку datagridview, когда пользователь щелкает ячейку этой строки?

<p>у меня есть <code>datagridview</code>, и мне нужно, чтобы, когда пользователь щелкает мышью на любой ячейке, также выделялась вся строка, содержащая эту ячейку. (мультиселект отключен) я пытался получить <code>currentrowindex</code> вот так</p><pre><code> int index = datagridview1.currentcell.rowindex; </code></pre><p>тем не менее, я не уверен, как использовать индекс для выбора этой строки ... попробовал этот и другие шесть способов безуспешно:</p><pre><code>datagridview1.select(index); </code></pre><p>вы знаете, как я могу это сделать?</p>

<p>вам необходимо установить <code>selectionmode</code> для datagridview равным <code>fullrowmode</code>.</p><p>примечание: в visual studio 2013 с .net 4.5 свойство называется <code>fullrowselect</code>, см. <a href="https://msdn.microsoft.com/en-us/library/3c89df86(v=vs.110).aspx">https://msdn.microsoft.com/en-us/library/3c89df86(v=vs.110).aspx</a> </p>

<p>если вы хотите, чтобы строка была выбрана программно, вы бы использовали событие щелчка ячейки datagridview: показанное в vb.net и c #</p><p>vb.net</p><pre><code>private sub dgvgrid\_cellclick(sender as system.object, e as system.windows.forms.datagridviewcelleventargs) handles dgvgrid.cellclick if e.rowindex < 0 then exit sub end if intindex = e.rowindex dgvgrid.rows(intindex).selected = true exit sub </code></pre><p>c #</p><pre><code>private void dgvrpttables\_cellclick(system.object sender, system.windows.forms.datagridviewcelleventargs e) { if (e.rowindex < 0) { return; } int index = e.rowindex; dgvgrid.rows[index].selected = true; } </code></pre>

<p>в свойствах datagridview установить</p><ul> <li>multiselect -> true</li> <li>selectionmode -> fullrowselect</li> </ul><p><img src="https://i.stack.imgur.com/6caru.jpg"></p>

<p>мог бы сделать что-то подобное</p><pre><code>protected override void render(htmltextwriter writer) { foreach (gridviewrow row in results.rows) { if (row.rowtype == datacontrolrowtype.datarow) { row.attributes["onmouseover"] = "this.style.cursor='pointer';"; row.cssclass = "rowhover"; row.tooltip = "click row to view person's history"; row.attributes.add("onclick", this.clientscript.getpostbackclienthyperlink(this.results,"select$" & r.rowindex , true)); } } base.render(writer); } </code></pre>

<p>вы можете сделать это: может быть, это может помочь вам.</p><pre><code>private void datagridview1\_cellcontentclick(object sender, datagridviewcelleventargs e) { if (e.rowindex>0) { int rowindex = e.rowindex; datagridviewrow row= this.datagridview1.rows[rowindex]; } } </code></pre>

<pre><code>//class to store id (pri. key) value of selected row from datagridview public class variables { public static string studentid; } //this is the event call on cell click of the datagridview private void datagridviewdisplay\_cellclick(object sender, datagridviewcelleventargs e) { variables.studentid =this.datagridviewdisplay.currentrow.cells[0].value.tostring(); //textboxname is my form field where i set the value of name column from the selected row from my datagridview textboxname.text = this.datagridviewdisplay.currentrow.cells[1].value.tostring(); datetimepickerdob.value = convert.todatetime(this.datagridviewdisplay.currentrow.cells[2].value.tostring()); } </code></pre><p> <a href="https://i.stack.imgur.com/thfqt.jpg">посмотрите на my datagridview</a> </p>