برای ذخیره اطلاعات می تونی از پایگاه داده ها استفاده کنی (قبلا توضیح دادم می تونی سرچ کنی)
کنترل دیتاگرید خاصیتی به نام Datasource داره که م یتونی دیتاست رو بهش پیوند بدی جدولی هم که قراره اطلاعاتش نشون داده بشه در خاصیت datamember قرار داده میشه
Dtatagridvie1.datasource=dataset1
datagridview1datamember=table1
حالا برای گرفتن سلول م یتونی از رویداد Cell click استفاده کنی که زمان کلیلک بر روی هر سلول اتفاق می افته.
حالا م یتونیم ایندکس ستون و ردیف ها رو بگیرم
E.rowindex و e.columnindex
برای ست کردن مقدار خاص هم می تونیم از متد Settext کلاس clipboard استفاده کنیم. من دقیقا نفهمیدم منظور شما در سوال یک چیه (آیا فقط مقادیر موجود در یک سطر یا ستون باید به کلیپ بورد بره یا نه)
با توجه به ایندکس ستون و ردیف که م یتونیم با کلیک بر روی هر سلول بگیریم می تونیم مقادیر موجود در این سلول ها رو بگیریم
مثلا مقدار موجود در سلولی رو که کاربر کلیک کرده بصورت زیر می گیریم
AA=datagirdview1.Item(e.ColumnIndex, e.RowIndex).Value.ToString
حالا که مقدار موجود در سلول رو داریم می تونیم در داخل کلیپ بورد ست کنیم
clipboard.settext(AA(
البته قبل از هر چیزی باید نوع فایل اطلاعات رو مشخص کنی : بانک های اطلاعاتی یا فایل مثلا XML
اگه از بانک اطلاعاتی استفاده می کنی باید از تایپ دیتاست استفاده کنی تا بتونی از داخل دیتاگرید بانک رو آپ دیت کنی
اگه از فایل Xml استفاده می کنی می تونی واسه لود اطلاعات از دیتاست استفاده کنی (در زمان اجرا) اما نحوه آپدیتش رو نمی دونم چه جوریه
یه مقدار واضح تر بگو شاید بشه کاری کرد