Приветствие, Я использую сетку, которая получает ее источник из выражения linq.Изменить сетку asp.net через linq datasource
Вот LINQ, например:
var data = from row in tempCity.AsEnumerable()
group row by row.Field<string>("City") into city
select new
{
City = city.Key,
Count = city.Count()
};
После назначения «данных» для источника данных сетки, я получить нужный мне результат. Проблема возникла, когда я попытался сделать приложение многоязычным, и я не могу найти способ перевести заголовок City и Count моей Grid на другой язык.
Я попытался выполнить следующие действия: 1.На основании города напишите GetLocalResource («Город») внутри выражения linq вместо термина «Город», это не сработало.
2.Измените свойства сетки Программно, однако, поскольку выражение linq отличается для каждого действия, зависит от желаемых клиентов, у меня нет готовых столбцов на моей странице aspx, поэтому я не могу добраться до grid.Column property - всегда обозначается как 0.
3.Вставьте все данные linq внутри DataTable, я знаю, что это должно работать, но это не так, кажется, это неудобно, и я как более чистое решение.
Заранее спасибо.
Спасибо за ваш ответ, но я не думаю, что это будет соответствовать моему делу сейчас, когда есть два поля на Linq, и у меня есть случай, переключатель с сценариями, где у меня есть 6 и 9 заголовков. –
Вы имеете в виду, что у вас разное количество городов в зависимости от локализации? Вы можете уточнить свой вопрос? Возможно, мы сможем найти лучшее решение. Я просто попытался улучшить ваше первое решение. BTW: Похоже, вы запрашиваете ADO.NET DataTable. Что такое ваш DataSource? – slfan
Действительно, я беру некоторый результат из DataTable, поэтому я не думаю, что asp: literal \ label \ localization будет работать из-за того, что в зависимости от запросов моих клиентов я получаю различное количество столбцов для каждого сценарий, IE: Запрос 1: «from .. where .. select new {2 fields}», Query 2: «from..where..select new {5 fields}» .. –