প্রোগ্রামগ্রাফিকভাবে ডেটাগ্রিডভিউতে একটি সারি নির্বাচন করা


109

DataGridViewরানটাইমের সময় আমি কীভাবে একটি প্রোগ্রামে সারিগুলির একটি নির্দিষ্ট পরিসীমা নির্বাচন করতে পারি ?

উত্তর:


127

পরীক্ষিত নয়, তবে আমি মনে করি আপনি নিম্নলিখিতগুলি করতে পারেন:

dataGrid.Rows[index].Selected = true;

অথবা আপনি নিম্নলিখিতগুলি করতে পারেন (তবে আবার: পরীক্ষা করা হয়নি):

dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
    if(YOUR CONDITION)
       row.Selected = true;
}

আপনার ডেটাগ্রিডভিউ যদি হয় read-only- তবে সাবধানতা অবলম্বন করুন SelectedRows.Clear()
ডেরেক ডব্লিউ

14
সিলেক্টড রোজের পরিবর্তে C ক্লিয়ার () ডেটাগ্রিডভিউ দৃষ্টান্তের ক্লিয়ারসিলেকশন () পদ্ধতিটি ব্যবহার করুন
ফুরকান

1
@ ফুরকান: এটি একই কাজ করে না। সঙ্গে SelectedRows.Clear()শুধুমাত্র নির্বাচিত সারি সরিয়ে ফেলা হয়, কিন্তু ClearSelection()এছাড়াও কলাম => কলাম-পছন্দসই মান নির্বাচন করে হারিয়ে যায় ...
ক্রিস্টোফ Fink

17
কোডের একটি লাইন যুক্ত করুনdataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
সময়হীন

2
@ টাইমলেস: আপনার পরামর্শটি পরীক্ষা করার সময় সিলেকশন চেঞ্জড ইভেন্টটি ট্রিগার হয়েছে বলে মনে হয় না।
ব্যবহারকারী 2430797

34

ভিজ্যুয়াল বেসিক এ, একটিতে একটি সারি নির্বাচন করতে এটি করুন DataGridView; নির্বাচিত সারিটি হাইলাইট করা রঙের সাথে উপস্থিত হবে তবে মনে রাখবেন যে কার্সারের অবস্থান পরিবর্তন হবে না:

Grid.Rows(0).Selected = True

এটি কার্সারের অবস্থান পরিবর্তন করে:

Grid.CurrentCell = Grid.Rows(0).Cells(0)

উপরের রেখাগুলির সংমিশ্রণটি কার্সারকে অবস্থান করবে এবং একটি সারি নির্বাচন করবে। এটিতে একটি সারিটি ফোকাস এবং নির্বাচনের জন্য মানক পদ্ধতি DataGridView:

Grid.CurrentCell = Grid.Rows(0).Cells(0)
Grid.Rows(0).Selected = True

গ্রিড.রোজেস (0)। গ্রিড প্রদর্শনের ক্ষেত্রের চেয়ে গ্রিডের ডেটা বেশি দীর্ঘ ক্ষেত্রে সেল (0) খুব কার্যকর। উপরে উল্লিখিত ক্রমটি প্রয়োজনীয় নয়, আপনি সারি / ঘর নির্বাচনের জন্য কোডটি সোয়াইপ করতে পারেন [উত্স: ব্যক্তিগতভাবে পরীক্ষিত]।
বিল

গ্রিডটি নির্বাচিত অবস্থানে কীভাবে সরানো যায়? সারিটি নির্বাচিত হয়েছে তবে গ্রিডের অবস্থান নির্বাচিত সারিতে নেই। ম্যানুয়ালি স্ক্রোলিং নির্বাচিত সারিটি দেখায়। গ্রিডকে কীভাবে স্ক্রোল করতে বাধ্য করবেন?
ফ্রেনকিবি

এটি দেখুন: ফার্স্টডস্প্লেডস্রোলিংরোউ ইন্ডেক্স
রডরিগো টি।

12
DataGridView.Rows
    .OfType<DataGridViewRow>()
     .Where(x => (int)x.Cells["Id"].Value == pId)
     .ToArray<DataGridViewRow>()[0]
     .Selected = true;

0
 <GridViewName>.ClearSelection(); ----------------------------------------------------1
 foreach(var item in itemList) -------------------------------------------------------2
 {
    rowHandle =<GridViewName>.LocateByValue("UniqueProperty_Name", item.unique_id );--3
    if (rowHandle != GridControl.InvalidRowHandle)------------------------------------4
    {
        <GridViewName>.SelectRow(rowHandle);------------------------------------ -----5
    }
  }
  1. পূর্ববর্তী সমস্ত নির্বাচন সাফ করুন।
  2. আপনার গ্রিডে সারিগুলির মধ্য দিয়ে লুপটি নির্বাচন করা দরকার।
  3. গ্রিড থেকে তাদের সারি হ্যান্ডলগুলি পান (এখানে নোট করুন গ্রিডটি ইতিমধ্যে নতুন সারিগুলির সাথে আপডেট হয়েছে)
  4. সারি হ্যান্ডেলটি বৈধ কিনা তা পরীক্ষা করা হচ্ছে।
  5. বৈধ সারি হ্যান্ডেল পরে এটি নির্বাচন করুন।

আইটেমলিস্টটি গ্রিড দৃশ্যে নির্বাচিত হওয়ার জন্য সারিগুলির তালিকা।


0

এটা চেষ্টা কর:

datagridview.Rows[currentRow].Cells[0];

datagridview.Rows[currentRow].Cells[0] প্রদত্ত সূচক অবস্থানে সেলটি পায় ... প্রশ্নের অনুরোধ অনুযায়ী এটি কীভাবে সারিগুলির একটি নির্দিষ্ট পরিসীমা নির্বাচন করে ?
ডিবিসি

-1

আপনার যদি একটি ডেটাসোর্স থাকে তবে আপনি নির্বাচন পদ্ধতিটি ব্যবহার করতে পারেন: http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx

অথবা আপনার যদি ডাটাসোর্সে কোনও জিনিস থাকে তবে লিনাক ব্যবহার করুন


-1

লোড সময় কোনও ডেটাগ্রিডভিউয়ের একটি নির্বাচিত সারি সেট করার সময়, এটি ডেটাবাইন্ডিং কমপ্লিট ইভেন্টে পরিচালনা করার বিষয়টি বিবেচনা করুন, কারণ এটি ডিফল্টরূপে ওভাররাইট করা যেতে পারে।


-1

এটা চেষ্টা কর:

DataGridViewRow row = dataGridView1.Rows[index row you want];
dataGridView1.CurrentRow = row;

এই সাহায্য আশা করি!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.