DataGridView ने टेक्स्टबॉक्स में पंक्ति के कॉलम मानों का चयन किया


नमस्ते, डेटाग्रिडव्यू से टेक्स्टबॉक्स में मान प्राप्त करने में मदद चाहिए, मेरे पास एसक्यूएल से डेटा प्राप्त करने वाला डेटाग्रिडव्यू है जो एसक्यूएल से प्राप्त 4 कॉलम और पंक्तियों की संख्या की गणना करता है, मेरे पास 4 टेक्स्टबॉक्स हैं, मैं डेटाग्रिडव्यू में चयनित पंक्ति के कॉलम मान चाहता हूं टेक्स्टबॉक्स.

कृपया इस पर सलाह दें।

समाधान 1

आप शायद इसका जवाब देना चाहेंगे DataGridView.SelectionChanged इवेंट[^].
इसके हैंडलर में जांचें कि क्या एक पंक्ति का चयन किया गया है, फिर उस पंक्ति से मान प्राप्त करें और उन्हें टेक्स्ट बॉक्स में रखें।

सी#
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
  if( DataGridView1.SelectedRows.Count = 0 )
  {
    TextBox1.Value = DataGridView1.SelectedRows(0).Cells(0).Value;
    TextBox2.Value = DataGridView1.SelectedRows(0).Cells(1).Value;
    TextBox3.Value = DataGridView1.SelectedRows(0).Cells(2).Value;
    TextBox4.Value = DataGridView1.SelectedRows(0).Cells(3).Value;
  }
}

कोड का परीक्षण नहीं किया गया है और इसमें टाइप त्रुटियाँ हो सकती हैं।

सुनिश्चित करें DataGridView.SelectionMode संपत्ति[^] इसके लिए सेट है FullRowSelect इस काम के लिए.

आप उपयोग कर सकते हैं DataGridView.MultiSelect संपत्ति[^] यह सुनिश्चित करने के लिए कि एक बार में केवल एक पंक्ति चुनी जाए।

समाधान 3

नमस्ते, अब ठीक हो रहा है

सी#
private void dgviewSearch_CellcontentClick(object sender, DataGridViewCellEventArgs e)
{
int i;
i = dgViewSearch.SelectedCells[0].RowIndex;
textBox3.Text = dgViewSearch.Rows[i].Cells[1].Value.ToString();
textBox4.Text = dgViewSearch.Rows[i].Cells[3].Value.ToString();
}

आपकी मदद के लिए बहुत-बहुत धन्यवाद, मैं टेक्स्टबॉक्स में डेटाग्रिडव्यू पर एकाधिक चयन की प्रतीक्षा कर रहा हूं, (अल्पविराम) जैसे (2001,2002,2003)

समाधान 2

ग्रिड के माउसक्लिक इवेंट को पंजीकृत करें और निम्नलिखित कोड का उपयोग करें।

सी#
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
    DataGridViewRow dr = dataGridView1.SelectedRows[0];
    textBox1.Text = dr.Cells[0].Value.ToString();
     // or simply use column name instead of index
    //dr.Cells["id"].Value.ToString();
    textBox2.Text = dr.Cells[1].Value.ToString();
    textBox3.Text = dr.Cells[2].Value.ToString();
    textBox4.Text = dr.Cells[3].Value.ToString();
}

और अपने लोड इवेंट में निम्न पंक्ति जोड़ें

सी#
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

समाधान 8

निजी शून्य dgvAllUsers_CellContentClick(ऑब्जेक्ट प्रेषक, DataGridViewCellEventArgs e)
{

यदि (e.RowIndex >= 0)
{
DataGridViewRow पंक्ति = this.dgvAllUsers.Rows[e.RowIndex];

textId.Text = row.Cells[“idUser”].Value.ToString();
textFullName.Text = row.Cells[“FullName”].Value.ToString();
textUserName.Text = row.Cells[“UserName”].Value.ToString();
textPassword.Text = row.Cells[“Password”].Value.ToString();
textAddress.Text = row.Cells[“Address”].Value.ToString();
textGender.Text = row.Cells[“Gender”].Value.ToString();
textContactNumber.Text = row.Cells[“ContactNumber”].Value.ToString();
ComboUserType.SelectedText = row.Cells[“UserType”].Value.ToString();
}
}

समाधान 9

हमेशा GridView1_CellEnt ईवेंट का उपयोग करें क्योंकि यदि आप अपने सेल को तीर कुंजियों से घुमाते हैं या माउस से क्लिक करते हैं तो यह दोनों के लिए उपयोगी होगा।
और हमेशा if (dataGridView1.SelectedCells.Count > 0) का उपयोग करें अन्यथा आपको पूरी पंक्ति का चयन करना होगा।
निजी शून्य डेटाGridView1_CellEnter(ऑब्जेक्ट प्रेषक, DataGridViewCellEventArgs e)
{
यदि (dataGridView1.SelectedCells.Count > 0) // सुनिश्चित करें कि उपयोगकर्ता कम से कम 1 पंक्ति का चयन करें
{

DataGridToTextboxes(e.RowIndex);

}
}

निजी शून्य DataGridToTextboxes(int x)
{

स्ट्रिंग आइटम1 = डेटाग्रिडव्यू1.पंक्तियाँ[x].कोशिकाएँ[1].मान + स्ट्रिंग.खाली;

// स्ट्रिंग SrNo = चयनितRows.Cells[0].मान + स्ट्रिंग.खाली;
// स्ट्रिंग आइटम1 = चयनित पंक्तियाँ.कोशिकाएँ[1].मान + स्ट्रिंग.खाली;

स्ट्रिंग MinRange = dataGridView1.Rows[x].कोशिकाएँ[2].मान + स्ट्रिंग.खाली;
स्ट्रिंग MaxRange = dataGridView1.Rows[x].कोशिकाएँ[3].मान + स्ट्रिंग.खाली;

स्ट्रिंग MinStable = dataGridView1.Rows[x].कोशिकाएँ[4].मान + स्ट्रिंग.खाली;
स्ट्रिंग मैक्सस्टेबल = dataGridView1.Rows[x].कोशिकाएँ[5].मान + स्ट्रिंग.खाली;

txtItem.Text = आइटम1;
TextMinRange.Text = MinRange;
TextMaxRange.Text = MaxRange;
TextMinStable.Text = MinStable;
TextMaxStable.Text = MaxStable;
}

コメント

タイトルとURLをコピーしました