Bir DataGridView'a her bir sütunu toplam kılavuzun yüzde bir genişliğine vermenin bir yolu var mı? Şu anda sabit genişlikler kullanıyorum ancak bir sütunu% 15 genişlikte, diğeri% 25 genişliğinde ve benzer şekilde, tablonun% 100'ünün Izgara ile doldurulup yeniden boyutlandırılmasını sağlamak istiyorum.DataGridView Sütun Genişlikleri Yüzde olarak
cevap
DataGridViewColumn.FillWeight özelliğini kullanmayı deneyin. Temel olarak her sütuna bir ağırlık atar ve sütunlar bu ağırlıklara göre yeniden boyutlandırılır. MSDN arcticle o kadar da iyi değil. Daha iyi explaination için aşağıdaki makaleye bakın -
Presenting Data with the DataGridView Control in .NET 2.0—Automatic Column Sizing
Değer dönüştürücü
kullanabilir. Bu bir parametre çıkarır ancak bir parametreyle bölebilirsiniz.
<local:WidthConverter x:Key="widthConverter"/>
<GridViewColumn Width="{Binding ElementName=lvCurDocFields, Path=ActualWidth, Converter={StaticResource widthConverter}, ConverterParameter=100}">
[ValueConversion(typeof(double), typeof(double))]
public class WidthConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
// value is the total width available
double otherWidth;
try
{
otherWidth = System.Convert.ToDouble(parameter);
}
catch
{
otherWidth = 100;
}
if (otherWidth < 0) otherWidth = 0;
double width = (double)value - otherWidth;
if (width < 0) width = 0;
return width; // columnsCount;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
sadece cilt dosyası oluşturun. ve web yapılandırması aracılığıyla uygulayın
Bunun geçerli bir yanıtı olması için lütfen cevabınızı haklı çıkaracak daha fazla bağlam, örnek, bağlantı veya bir şey verin. – ethrbunny
Örnek kod için teşekkür ederiz. Diğer cevapların daha kolay uygulanmasına rağmen, bunun bir kişi tarafından kullanılacağına eminim. Yardımın için minnettarım! –