Как определить, является ли вертикальная полоса прокрутки Grid Control видимой или скрытой. Дев экспресс

1

есть ли способ определить, является ли панель вертикальной полосы прокрутки сетки видимой или скрытой. или свойство, которое возвращает значение, если оно скрыто или видимо? В настоящее время я использую dev express grid control, кто-нибудь может дать ответ? Я искал пару часов, но я не могу найти ответ.

Теги:
wpf
devexpress
devexpress-wpf

3 ответа

1
Лучший ответ

это для более старых версий gridview DevExpress. Я также получил нулевое значение, используя стандартное отражение.

private GridViewInfo GetViewInfo(GridView view)
    {
        FieldInfo fi;

        fi = typeof(GridView).GetField("fViewInfo", BindingFlags.NonPublic | BindingFlags.Instance);

        GridViewInfo griInfo = fi.GetValue(view) as GridViewInfo;
        if (griInfo != null)
         {
          // check if scrollbar
          if (griInfo.VScrollBarPresence == ScrollBarPresence.Visible)
          {
              Console.WriteLine("Scrollbar visible");
          }
          else
          {
              Console.WriteLine("Scrollbar not visible");
          }
        }
        return griInfo;
    }
  • 0
    Не работает с DevExpress 13.1.7.0. GridView не содержит fViewInfo
0
    private void button1_Click(object sender, EventArgs e)
    {
        // create a long list to force scrollbar
        List<String> tempList = new List<string> { "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value" };
        gridControl1.DataSource = tempList;

        // check if scrollbar is visible
        GridViewInfo viewInfo = gridView1.GetViewInfo() as GridViewInfo;
        if (viewInfo != null)
        {
            // check if scrollbar
            if (viewInfo.VScrollBarPresence == ScrollBarPresence.Visible)
            {
                Console.WriteLine("Scrollbar visible");
            }
            else
            {
                Console.WriteLine("Scrollbar not visible");
            }
        }
    }

Источник: DevExpress

  • 0
    Я уже пробовал это с помощью табличного представления управления сеткой, но кажется, что у него нет метода GetViewInfo ()
  • 0
    Какую версию devexpress вы используете?
Показать ещё 2 комментария
0

Grid Control не предоставляет такого свойства. Почему вы не используете XtraScrollableControl?

  • 0
    я просто хочу знать, содержит ли элемент управления сеткой слишком много данных ... и отображает ли он вертикальную полосу прокрутки?
  • 0
    Когда вы определяете высоту элемента управления сеткой, а данные больше этой высоты, появляется полоса прокрутки. Вы можете проверить это так. Например: 100 - это высота, и она содержит 11 строк по 10 высоты, тогда будет включена полоса прокрутки yes. Но если он содержит 10 строк, он не будет. Однако Grid Control не предоставляет такой метод или свойство для непосредственного получения этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню