好吧,我很惭愧我发布了这个帮助,但在这里你去。我只需要在下拉列表中的3个均匀调整列中显示一些数据。字符串填充均匀调整列
以下是根据最大长度的字符串调整每个字符串的填充的代码。 第二列看起来不错,但最后一列是由最大长度 - 字符串长度差异的偏移量关闭的。我无法弄清楚,为什么...
List<Data> list = new List<Data>();
Data d = new Data() { Data1 = "328989892787", Data2 = "MNJK", Data3="23" };
Data b = new Data() { Data1 = "343567", Data2= "HJKLLL", Data3="2345" };
Data g = new Data() { Data1 = "64737", Data2="UI", Data3="234" };
Data f = new Data() { Data1 = "878437878223245", Data2="", Data3="45653" };
Data a = new Data() { Data1 = "234", Data2 = "DataMe", Data3="1"};
list.Add(d);
list.Add(b);
list.Add(g);
list.Add(f);
list.Add(a);
var sorted1 = list.OrderByDescending(q => q.Data1.Length).ToList();
var sorted2 = list.OrderByDescending(s => s.Data2.Length).ToList();
var sorted3 = list.OrderByDescending(r => r.Data3.Length).ToList();
int maxd1 = sorted1[0].Data1.Length;
int maxd2 = sorted2[0].Data2.Length;
int maxd3 = sorted3[0].Data3.Length;
ListItem item = null;
foreach (var dd in list)
{
string result = string.Format("{0}{1}{2}",
dd.Data1.PadRight(40 + (maxd1 - dd.Data1.Length), '\u00A0'),
dd.Data2.PadRight(50 +(maxd2 - dd.Data2.Length), '\u00A0'),
dd.Data3);
this.DropDownList1.Items.Add(new ListItem(result, dd.Data1));
}
你可以添加一些示例输出吗?不清楚什么“最大长度差异的偏移量 - 字符串长度”看起来像... – 2010-11-14 04:29:55
@詹姆斯这里是从下拉列表中取得的输出: – dexter 2010-11-14 22:08:46
我是否在某处丢失了它? – 2010-11-15 01:58:21