столбцы вида gridview в asp.net c#

Вам нужно разбить строку на группы, которые начинаются с заглавных букв. Один краткий способ сделать это с помощью регулярного выражения:

let molecule = "NaCl"
let arr = molecule.match(/([A-Z][a-z]*)/g) // match uppercase letter followed by 0 or more lower case letters
console.log(arr)

Оттуда, похоже, вы хотите отобразить их и добавить 1. Это даст вам массив, который вы затем сможете объединить вместе с join('')

let m = "NaCl"

function countAtoms(molecule) {
    var element = molecule.match(/([A-Z][a-z]*)/g)
    return element.map(el => el+1).join('')
}
console.log(countAtoms(m))

7
задан 17 October 2008 в 17:52
поделиться

7 ответов

Существует 2 вещи, которые необходимо сделать для разбираний в этом.

  1. Сохраните состояние сортировки, состояние отображения (SortDirection и SortExpression)
  2. Вы генерируете корректное linq выражение на основе текущего состояния сортировки.

Вручную обработайте событие Sorting в сетке и используйте этого помощника, которого я записал в вид SortExpression и SortDirection:

public static IQueryable<T> SortBy<T>(IQueryable<T> source, string sortExpression, SortDirection direction) {
    if (source == null) {
        throw new ArgumentNullException("source");
    }

    string methodName = "OrderBy";
    if (direction == SortDirection.Descending) {
        methodName += "Descending";
    }

    var paramExp = Expression.Parameter(typeof(T), String.Empty);
    var propExp = Expression.PropertyOrField(paramExp, sortExpression);

    // p => p.sortExpression
    var sortLambda = Expression.Lambda(propExp, paramExp);

    var methodCallExp = Expression.Call(
                                typeof(Queryable),
                                methodName,
                                new[] { typeof(T), propExp.Type },
                                source.Expression,
                                Expression.Quote(sortLambda)
                            );

    return (IQueryable<T>)source.Provider.CreateQuery(methodCallExp);
}

дб. Продукты. SortBy (e. SortExpression, e. SortDirection)

Проверьте мое сообщение в блоге на то, как сделать это:

9
ответ дан 6 December 2019 в 23:15
поделиться

больше информации о сортировке в gridview может быть найдено здесь: MSDN Gridview, сортировка методологии, используемой для получения данных, не должна иметь значения, можно использовать ту же сортировку.

0
ответ дан 6 December 2019 в 23:15
поделиться

добавьте:

  AllowSorting="true"

к <asp:GridView /> тег, который должен сделать это

0
ответ дан 6 December 2019 в 23:15
поделиться

То, когда я делаю это Одно, это дает ошибку "GridView 'GridView1', запустило событие Sorting, которое не было обработано.

Я имел, которые происходят прежде... Я только что создал одноразовый обработчик, и затем все, казалось, начинало работать после этого. Не самое симпатичное решение, но это работало на меня.

Тем не менее я не видел ссылки на источник данных в Вашем коде GridView. Вам будет нужно что-то вроде этого:

<asp:LinqDataSource ID="dsMyDataSource" runat="server"
DataContextTypeName="MyDataContext"
TableName="MyTable"
AllowSort="true" />

И затем в Вашем GridView:

<asp:GridView ID="gvMyGridView" runat="server" DataSourceID="dsMyDataSource" ... />
0
ответ дан 6 December 2019 в 23:15
поделиться

В Свойствах Панель дважды щелкают по Записи Сортировки. Будет создана новая Функция. В этой Функции пишут Код для заполнения Gridview. Единственная разница состоит в том, чтобы изменить запрос на основе GridViewSortEventArgs e

e. SortExpression и
Возрастание e. SortDirection allways :-(

Я надеюсь, что этот очень короткий Ответ помогает

0
ответ дан 6 December 2019 в 23:15
поделиться

В половине псевдокода для SQL-запроса

string Query= string.Empty;
string SortExpression = string.Empty;

// HDFSort is an HiddenField !!!

protected void SortCommand_OnClick(object sender, GridViewSortEventArgs e)
{
   SortExpression = e.SortExpression; 
   Query = YourQuery + " ORDER BY "+SortExpression +" "+ HDFSort.Value ;
   HDFSort.Value = HDFSort.Value== "ASC" ? "DESC" : "ASC";
   RefreshGridView();
}

protected void RefreshGridView()
{
   GridView1.DataSource = DBObject.GetData(Query);
   GridView1.DataBind();
}
0
ответ дан 6 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: