WPF的表格控件 FlexGrid设置行的高度自适应
行高自适应通过内容长度设置的,有列宽自适应方法,行高的试过不行,于是用内容长度控制行高
private void FlexGrid_LoadedRows_RowIndex(object sender, EventArgs e)
{
ViewHelper.SetRowIndexNoPage(CfgReviewItem);
//CfgReviewItem.Rows[0].Height;
// CfgReviewItem.AutoSizeRow(1,0);
if (CfgReviewItem == null) return;
if (CfgReviewItem.Rows.Count > 0)
{
int i = 0;
int CustomerRequestLength = 0;
int InPlantCapacityLength = 0;
int SchemeDescribeLength = 0;
bool istrue = true;
foreach (var row in CfgReviewItem.Rows)
{
var model = row.DataItem as HardBCReviewItemModel;
if (model == null) continue;
//获取长度
string CustomerRequest = model.CustomerRequest;
string InPlantCapacity = model.InPlantCapacity;
string SchemeDescribe = model.InPlantCapacity;
istrue = string.IsNullOrEmpty(CustomerRequest);
CustomerRequestLength = istrue ? 0 : CustomerRequest.Length;
istrue = string.IsNullOrEmpty(InPlantCapacity);
InPlantCapacityLength = istrue ? 0 : InPlantCapacity.Length;
istrue = string.IsNullOrEmpty(SchemeDescribe);
SchemeDescribeLength = istrue ? 0 : SchemeDescribe.Length;
if (CustomerRequestLength >= InPlantCapacityLength&& CustomerRequestLength >= SchemeDescribeLength) {
setHeight(CustomerRequestLength, i);
i++;
continue;
}else
if (InPlantCapacityLength >= CustomerRequestLength && InPlantCapacityLength >= SchemeDescribeLength)
{
setHeight(InPlantCapacityLength, i);
i++;
continue;
} else
if (SchemeDescribeLength >= InPlantCapacityLength && SchemeDescribeLength >= CustomerRequestLength)
{
setHeight(SchemeDescribeLength, i);
i++;
continue;
}
}
}
// CfgReviewItem.Rows[0].Height = 200;
// 列宽自适应 CfgReviewItem.AutoSizeColumns(0, CfgReviewItem.Columns.Count, 0);
}
public void setHeight(int height,int i) {
if (height < 100)
{
CfgReviewItem.Rows[i].Height = 50;
}
else if (height > 100 && height < 200)
{
CfgReviewItem.Rows[i].Height = 100;
}
else if (height > 200)
{
CfgReviewItem.Rows[i].Height = 200;
}
}