2011-12-26 4 views
5

मेरे पास एक डाटाग्रिड/ग्रिडव्यू है। मैं शुरू में 10 पंक्तियों के साथ ग्रिड populating हूँ। एक बटन पर हर बार क्लिक करें, मैं डेटाग्रिड/ग्रिडव्यू में 10 पंक्तियां जोड़ रहा हूं। अब जब भी ग्रिड आबादी आती है तो मैं फोकस को अंतिम पंक्ति पर सेट करना चाहता हूं। मैं उस पंक्ति का सूचकांक प्राप्त कर सकता हूं, लेकिन मैं उस विशेष पंक्ति पर ध्यान केंद्रित नहीं कर सकता।डेटाग्रिड/ग्रिडव्यू में किसी विशेष पंक्ति पर फ़ोकस कैसे सेट करें?

क्या आप में से किसी को भी यह पता है कि सी # में इसे कैसे किया जाए?

उत्तर

10

WinForms DataGridView के लिए प्रयास करें इस

dataGridView1.ClearSelection(); 
int nRowIndex = dataGridView1.Rows.Count - 1; 

dataGridView1.Rows[nRowIndex].Selected = true; 
dataGridView1.Rows[nRowIndex].Cells[0].Selected = true; 
+0

मित्र, मुझे लगता है कि बटन के क्लिक में फोकस सेट कर रहा हूं event.And मैं gridview के लिए किसी भी संपत्ति नहीं मिल सकता है के रूप में 'पंक्ति' and'.Selected'.Please मुझे बताओ मैं उन्हें कैसे प्राप्त कर सकते हैं .. – Sukanya

+0

अद्यतन –

+1

अपडेट करने के बाद अभी जांचें। मैंने आपके कोड को आजमाया लेकिन यह त्रुटि दे रहा है क्योंकि "ग्रिडव्यूरो में 'चयनित' की परिभाषा नहीं है और कोई विकल्प विधि 'चयनित' सिस्टम.Web.UI.WebControls के पहले तर्क को स्वीकार नहीं करता है। GridViewRow पाया जा सकता है "। क्या मुझे कोई निर्देश या असेंबली संदर्भ याद आ रहा है? – Sukanya

1

इस प्रयास करें ...

DataGridViewRow rowToSelect = this.dgvJobList.CurrentRow; 

rowToSelect.Selected = true; 



rowToSelect.Cells[0].Selected = true; 

this.dgvJobList.CurrentCell = rowToSelect.Cells[0]; 

this.dgvJobList.BeginEdit(true); 
+0

मुझे कोई संपत्ति नहीं मिल रही है। ग्रिडव्यू के लिए CurrentRow.कृपया मदद करें .. – Sukanya

4

:

myDataGridView.CurrentCell = myDataGridView.Rows[theRowIndex].Cells[0]; 

WebForms के लिए GridView, SelectedIndex संपत्ति का उपयोग

myGridView.SelectedIndex = theRowIndex; 
+0

ग्रिडव्यू के लिए 'CurrentCell' जैसी कोई संपत्ति नहीं है .. – Sukanya

+0

@ सुकन्या [DataGridView] के लिए है (http://msdn.microsoft.com /en-us/library/system.windows.forms.datagridview.currentcell.aspx)। क्या आप वेबफॉर्म ग्रिड व्यू के साथ काम कर रहे हैं? यदि हां, तो कृपया इसे अपने प्रश्न में चिह्नित करें। – akoso

+0

@ सुकन्या मेरे संपादन – akoso

0

इसे आज़माएं, मैं Extjs 4.2.0 में निम्न स्क्रिप्ट स्निपेट के साथ अच्छी तरह से काम करता हूं।

//currentIndex is the index of grid row 
var rowElement = this.getView().getRecord(currentIndex); 
this.getView().focusRow(rowElement); 
0

इस प्रयास करें, इसके लिए मुझे

public static void ItemSetFocus(DataGrid Dg, int SelIndex) 
    { 
     if (Dg.Items.Count >= 1 && SelIndex < Dg.Items.Count) 
     { 
      Dg.ScrollIntoView(Dg.Items.GetItemAt(SelIndex)); 
      Dg.SelectionMode = DataGridSelectionMode.Single; 
      Dg.SelectionUnit = DataGridSelectionUnit.FullRow; 
      Dg.SelectedIndex = SelIndex; 
      DataGridRow row = (DataGridRow)Dg.ItemContainerGenerator.ContainerFromIndex(SelIndex); 
       row.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next)); 
     } 
    } 
0

इस पोस्ट में एक देवता भेजने रहा है काम है। मैं विजुअल स्टूडियो 2017 में वीबी का उपयोग कर रहा हूं और उपयोगकर्ता को डेटा इनपुट करने की अनुमति देने के लिए बस डेटाग्राइड के नीचे जाने की आवश्यकता है। इन उत्तरों का अध्ययन करके मैं इस समाधान के साथ आया और सोचा कि दूसरों को यह उपयोगी लगेगा।

Private Sub AddBUTTON_Click(sender As Object, e As RoutedEventArgs) Handles 
AddBUTTON.Click 
     ' Go to bottom to allow user to add item in last row 
     DataGrid.Focus() 
     DataGrid.UnselectAll() 
     DataGrid.SelectedIndex = 0 
     DataGrid.ScrollIntoView(DataGrid.SelectedItem) 
     Dim endofitems As Integer = DataGrid.Items.Count   
     DataGrid.ScrollIntoView(DataGrid.Items.GetItemAt(endofitems - 1)) 
    End Sub 
संबंधित मुद्दे