DataGridView의 각 열에 전체 눈금의 백분율 너비를 지정하는 방법이 있습니까? 현재 고정 너비를 사용하고 있지만 한 열에 15 % 너비, 다른 너비에는 25 % 너비 등을 지정하여 테이블의 100 %를 채우고 Grid로 크기를 조정합니다.DataGridView 열 너비를 백분율로
6
A
답변
14
DataGridViewColumn.FillWeight 속성을 사용해보십시오. 기본적으로 모든 열에 가중치를 지정하고 해당 가중치에 따라 열의 크기를 다시 지정합니다. MSDN arcticle은 그리 좋지 않습니다. 더 나은 explaination를 위해 아래의 문서를 참조 -
Presenting Data with the DataGridView Control in .NET 2.0—Automatic Column Sizing
1
값 변환기를 사용할 수 있습니다.
이 매개 변수를 빼지 만 매개 변수로 나눌 수 있습니다.
<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();
}
}
-3
그냥 스킨 파일을 만듭니다. 및 웹 설정을 통해 적용하십시오.
+0
유효한 응답이 되려면 더 많은 컨텍스트, 예제, 링크 또는 답변을 정당화할만한 것을 제공하십시오. – ethrbunny
예제 코드를 제공해 주셔서 감사합니다. 다른 답변이 훨씬 쉽게 구현되었음을 알았지 만, 누군가에 의해 사용될 것이라고 확신합니다. 그래도 도움을 주셔서 감사합니다! –