View Full Version : سوال: readonly datagridview با امکان copy
mohsen.net
سه شنبه 28 دی 1389, 13:37 عصر
سلام
می خواهم Datagridview من readonly باشد و امکان copy هم داشته باشد
اگر Readonly کنم دیگر contextmenu را نمایش نمی دهد تا امکان کپی وجود داشته باشد .
مهدی فرزاد
سه شنبه 28 دی 1389, 16:09 عصر
سلام
اگر هدف شما از Readonly کردن فقط برای اینه که کار بر نتونه توش بنویسه ولی کپی بتونه بکنه پس
در PreviewKeyDow دیتا گریدتون بنویسید
private void personalDataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
mohsen.net
سه شنبه 28 دی 1389, 18:21 عصر
روش خوبی بود اما مشکل این هست که اگر راست کلیک کنه و cut یا paste را بزنه باز هم عوض می شه
واسه این هم راهی هست؟
مهدی فرزاد
سه شنبه 28 دی 1389, 18:59 عصر
سلام
این راه ها که من میگم فقط پیشنهاده
میتونید یک استایل برای DataGridCellStyle درست کنید و در اون IsEnable مربوط به Border رو برابر false قرار بدید
اینجوری فقط گزینه Copy فعال هست
<Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True" IsEnabled="False">
<ContentPresenter x:Name="contentPresenter" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
و در دیتا گرید بنویسد
CellStyle="{DynamicResource DataGridCellStyle1}"
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.