如何使用我的 flutter API 在表格日历上显示事件

2024-02-14

我有用于显示事件日历的 UI,并且需要显示 API 中的事件。但我不知道该怎么做。我尝试更改 _event 上的列表,但没有响应。我需要在日历上显示它,以便我的公司日历可以显示该活动。

这是我的 UI 日历

import 'package:intl/intl.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:urus_flutter/persentation/custom_color.dart';
import 'package:urus_flutter/persentation/custom_text_style.dart';
import 'package:table_calendar/table_calendar.dart';
import 'package:shared_preferences/shared_preferences.dart';

class Calender extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => CalenderState();
}

class CalenderState extends State<Calender> {
  CalendarController _controller;
  Map<DateTime, List<dynamic>> _events;
  List<dynamic> _selectedEvents;
  DateTime _selectedDate;
  SharedPreferences prefs;


  @override
  void initState(){
    super.initState();
    _controller = CalendarController();
    _events = {
      DateTime(2021, 6, 22) : ['Meeting URUS', 'Testing Danai Mobile', 'Weekly Report', 'Weekly Meeting'],
      DateTime(2021, 6, 25) : ['Weekly Testing'],
      DateTime(2021, 6, 4) : ['Weekly Testing'],
      DateTime(2021, 6, 11) : ['Weekly Testing'],
      DateTime(2021, 6, 18) : ['Weekly Testing'],
    };
  }


  Map<String, dynamic> encodeMap(Map<DateTime, dynamic> map) {
    Map<String, dynamic> newMap = {};
    map.forEach((key, value) {
      newMap[key.toString()] = map[key];
    });
    return newMap;
  }

  Map<DateTime, dynamic> decodeMap(Map<String, dynamic> map) {
    Map<DateTime, dynamic> newMap = {};
    map.forEach((key, value) {
      newMap[DateTime.parse(key)] = map[key];
    });
    return newMap;
  }


  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: [
          ListView(
            padding: EdgeInsets.only(left: 16, right: 16, top: 52, bottom: 126),
            children: [
              Text("Kalender Kegiatan",
                style: CustomTextStlye.proxima_bold_18_black,),
              Container(
                child: Padding(
                  padding: const EdgeInsets.only(top: 28.0),
                  child: Text("Kalender Anda",
                          style: CustomTextStlye.proxima_bold_16_black,),
                ),
              ),

              SizedBox(
                height: 20,
              ),

              Container(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    Container(
                      decoration: BoxDecoration(
                        color: Colors.white,
                        borderRadius: BorderRadius.circular(5.0),
                        boxShadow: [
                          BoxShadow(
                              offset: Offset(0, -1),
                              color: CustomColor.border_grey,
                              blurRadius: 3.0,
                              spreadRadius: 1.0)
                        ]
                      ),

                      child: TableCalendar(
                        initialCalendarFormat: CalendarFormat.month,
                        calendarStyle: CalendarStyle(
                          todayColor: Color(0x9429AAE1),
                          todayStyle: CustomTextStlye.proxima_bold_12_white,
                          selectedColor: Color(0xFF29AAE1),
                          selectedStyle: CustomTextStlye.proxima_bold_12_white,
                          weekdayStyle: CustomTextStlye.proxima_bold_12_black,
                          weekendStyle: CustomTextStlye.proxima_bold_12_red,
                          unavailableStyle: CustomTextStlye.proxima_bold_12,
                          holidayStyle: CustomTextStlye.proxima_bold_12_red,
                          markersColor: Color(0xFFA2CD3A),
                        ),
                        headerStyle: HeaderStyle(
                          centerHeaderTitle: true,
                          formatButtonVisible: false,
                          titleTextStyle: CustomTextStlye.proxima_bold_14_black,
                        ),
                        availableCalendarFormats: const {CalendarFormat.month: '',},
                        startingDayOfWeek: StartingDayOfWeek.monday,
                        calendarController: _controller,
                        events: _events,
                        onDaySelected: (date, events,holidays) {
                          setState(() {
                            _selectedEvents = events;
                            _selectedDate = date;
                          });
                        },
                      ),
                    )
                  ],
                ),
              ),

              Container(
                child:Padding(
                  padding: const EdgeInsets.only(top: 28.0),
                  child: Text("Kegiatan Anda",
                    style: CustomTextStlye.proxima_bold_16_black,),
                ),
              ),

              Container(
                child: _selectedEvents != null ? Column(
                  children: List.generate(_selectedEvents.length, (index) =>
                      Container(
                        padding: const EdgeInsets.all(8.0),
                        child: Container(
                          height: MediaQuery.of(context).size.height/15,
                          decoration: BoxDecoration(
                              border: Border(bottom: BorderSide(color: Color.fromRGBO(228, 228, 228, 1)))

                          ),
                          child:
                          Center(
                            child:
                                Container(child:
                                Row(
                                  children: [
                                    Padding(
                                      padding: const EdgeInsets.all(8.0),
                                      child: Container(
                                        padding: const EdgeInsets.symmetric(vertical: 4.0, horizontal: 10.0),
                                        height: MediaQuery.of(context).size.height/10,
                                        decoration: BoxDecoration(
                                          border: Border.all(color:Color(0xFF29AAE1)),
                                          color:Color(0xFF29AAE1),
                                          borderRadius: BorderRadius.circular(3.0),
                                        ),
                                        child: Text(DateFormat('d').format(_selectedDate),
                                          style: CustomTextStlye.proxima_bold_18_white,
                                        ),
                                      ),
                                    ),

                                    Text(_selectedEvents[index],
                                      style: CustomTextStlye.proxima_bold_14_black,
                                    ),
                                  ],
                                ),
                                )

                          ),
                        ),
                      ),
                  ),
                ) : Container(),
              )
            ],
          ),
        ],
      ),
    );
  }
}

这是我的 eventCalendarService.dart

import 'dart:convert';
import 'dart:io';

import 'package:http/io_client.dart';
import 'package:urus_flutter/data/eventController.dart';
import 'package:urus_flutter/data/model/base/event_calendar.dart';

Future<List<Event_Calendar>> fetchEventCalendar(String id, int company_id, {String date}) async {
  String requestBody = '';
  print(requestBody);

  final ioc = new HttpClient();
  ioc.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
  final http = new IOClient(ioc);
  final response = await http.get(
    getStringUrl+'staffs/GetCalendar?companyid=$company_id&month=$date',
  );

  print(response.statusCode);
  print(response.body);

  if (response.statusCode == 200) {
    var parsed = jsonDecode(response.body);
    return List<Event_Calendar>.from(parsed.map((model) => Event_Calendar.fromJson(model)));
  } else {
    throw Exception(response.body);
  }
}

这是我的模型 event_calendar.dart

class Event_Calendar {
  final String id;
  final String type;
  final String date;
  final String event_name;
  final int company_id;


  Event_Calendar(
      {
        this.id,
        this.type,
        this.date,
        this.event_name,
        this.company_id,
      }
  );

  factory Event_Calendar.fromJson(Map<String, dynamic> json) {
    return Event_Calendar(
        id: json['id'] as String,
        type: json['type'] as String,
        date: json['date'] as String,
        event_name: json['event_name'] as String,
        company_id: json['company_id'] as int,
    );
  }
}

我希望任何人都可以给我关于如何向我的 API 显示 _events 的答案。谢谢。这是我的 API 中的示例值


好了,伙计们,现在我将向您展示我发现的使用表日历显示来自 api 的事件和卡片的方法。 我什至不需要说这是我发现事物的方式,请随意添加新事物并在这里提供提示。所以我们走吧。

首先,我们将显示日历事件,但在这一步中仅显示标记,如果您在这里,来自 api 的数据必须包含日期,在我的例子中,日期作为字符串出现,所以让我们为它们创建模型

import 'dart:convert';

class EventsModel {
  final String dataDoJob;
  EventsModel({
    required this.dataDoJob,
  });
  

  Map<String, dynamic> toMap() {
    return {
      'data_acao': dataDoJob,
    };
  }

  factory EventsModel.fromMap(Map<String, dynamic> map) {
    return EventsModel(
      dataDoJob: map['data_acao'],
    );
  }

  String toJson() => json.encode(toMap());

  factory EventsModel.fromJson(String source) => EventsModel.fromMap(json.decode(source));
}

这是我的模型,正如你所看到的,我刚刚获取日期。现在让我们使用 get 方法从 api 检索此数据,我使用 getConnect 但您可以使用您想要的 http 客户端。

 @override
  Future<List<EventsModel>> getEvents() async {
    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();

    final int? id = sharedPreferences.getInt("idInfluencer");
    final String token = sharedPreferences.getString("token") ?? "";

    final Response result = await _restClient.get<List<EventsModel>>(
        "/job_acoes?influenciador_id=${id.toString()}",
        headers: {
          'Content-Type': 'application/json',
          'Accept': 'application/json',
          'Authorization': 'Bearer $token'
        }, decoder: (data) {
      if (data != null) {
        return data
            .map<EventsModel>((event) => EventsModel.fromMap(event))
            .toList();
      }
      return <EventsModel>[];
    });
    if (result.hasError) {
      print(result.statusCode);
      throw "Erro ao buscar dados";
    }

    print(result.body);
    print(result.statusCode);

    return result.body;
  }

做得好,我们已经有了一个日期列表,但在我的例子中,它们是字符串,所以我必须转换它们,如下所示:

final events = await _jobsServices.getEvents();
        //final dateFormat = DateFormat("yyyy-MM-dd");
        final eventsConvert =
            events.map((date) => (DateTime.parse(date.dataDoJob))).toList();

        eventsList.assignAll(eventsConvert);

        print("Lista de eventos : $eventsList");

        streamController.add(events);

在第一行,我将列表保存在一个名为 events 的变量中,在下面我使用 map 方法将字符串转换为日期时间,并将它们添加到我创建的空列表中,然后逐步执行以下操作:一个空列表,并将转换后的数据添加到其中,就像我上面所做的那样,我的空列表称为 eventsList 完成后,我们将在表日历中显示此列表

class CalendarWidget extends GetView<HomeController> {
  const CalendarWidget({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<List<EventsModel>>(
        stream: controller.streamController.stream,
        builder: (context, snapshot) {
          return Obx(() {
            return TableCalendar(
              eventLoader: (day) => controller.eventsList.where((event) => isSameDay(event,day)).toList(), //THIS IS IMPORTANT
       
              focusedDay: controller.focusedDay.value,
              firstDay: DateTime(2019),
              lastDay: DateTime(2050),
              headerStyle:
                  const HeaderStyle(formatButtonVisible: false), //WEEK VISIBLE
              locale: 'pt_BR',
              daysOfWeekVisible: true,
              calendarFormat: controller.format.value,
              onFormatChanged: (CalendarFormat _format) =>
                  controller.calendarFormat(_format),
              onDaySelected: (DateTime userSelectedDay, DateTime focusedDay) =>
                  controller.selectedDay(userSelectedDay, focusedDay),
              calendarStyle: CalendarStyle(
                  selectedTextStyle: const TextStyle(color: Colors.white),
                  isTodayHighlighted: true,
                  selectedDecoration: BoxDecoration(
                      color: context.buttomThemeClicled,
                      shape: BoxShape.circle)),
              selectedDayPredicate: (DateTime date) {
                return isSameDay(controller.focusedDay.value, date);
              },
            );
          });
        });
  }
}

记住我使用的是无状态小部件,所以我需要一个状态管理器,并且我使用 getx,所以它有一个涉及整个日历的 obx。

在事件加载器中,有些人有疑问,您可以在其上传递列表或地图,在我的例子中,为了简单起见,我正在使用列表,请注意,在事件加载器中,我正在执行简单的过滤,比较我的日历的日期与我从 api 获取的日期,很简单不是吗?通过执行此操作,您的基于 api 的书签将已经显示。啊,一个细节,只要 api 发生变化,流构建器就会重做我的小部件,如果你不知道如何使用它,这个视频将解释:https://www.youtube.com/watch?v=BBelgajHgzY https://www.youtube.com/watch?v=BBelgajHgzY

现在让我们进入基于天数的事件显示部分,我的事件将显示在这样的卡片上:

所以我将它构建在与我的主页不同的页面上,这部分很重要,因为您的代码将变得更容易和更清晰,完成小部件后,我们将在屏幕上显示它们,如下所示:

child: Obx(() {
                          return ListView(
                            scrollDirection: Axis.vertical,
                            children: controller.cards
                                .map(
                                  (c) => AgendaCards(
                                    bottomPosition: 80,
                                    leftPositioned: 260,
                                    maxRadius: 5,
                                    rightPositioned: 5,
                                    secondMaxradius: 5,
                                    topPositioned: 20,
                                    model: c,
                                  ),
                                )
                                .toList(),
                          );
                        }));

名为日历卡的小部件无非是上面照片中的卡片,在它上面我要求了一个名为

final JobsDescriptionCardsModel model;

并在构造函数中调用他

AgendaCards({
    required this.leftPositioned,
    required this.rightPositioned,
    required this.topPositioned,
    required this.bottomPosition,
    required this.maxRadius,
    required this.secondMaxradius,
    required this.model, //HERE
    Key? key,
  }) : super(key: key);

所以让我们创建这个模型

class JobsDescriptionCardsModel {
  final String descricaoJob;
  final String dataDoJob;
  final String horarioDoJob;
  final int jobId;
  final String nome;
  JobsDescriptionCardsModel({
    required this.descricaoJob,
    required this.dataDoJob,
    required this.horarioDoJob,
    required this.jobId,
    required this.nome,
  });
  

  Map<String, dynamic> toMap() {
    return {
      'descricaoJob': descricaoJob,
      'dataDoJob': dataDoJob,
      'horarioDoJob': horarioDoJob,
      'jobId': jobId,
      'nome': nome,
    };
  }

  factory JobsDescriptionCardsModel.fromMap(Map<String, dynamic> map) {
    return JobsDescriptionCardsModel(
      descricaoJob: map['descricao'] ?? "",
      dataDoJob: map['data_acao'] ?? "",
      horarioDoJob: map['hora_inicial_acao'],
      jobId: map['job_acao_id'] ?? 0,
      nome: map['job'] ["cliente"] ["nome"] ?? "",
    );
  }

  String toJson() => json.encode(toMap());

  factory JobsDescriptionCardsModel.fromJson(String source) => JobsDescriptionCardsModel.fromMap(json.decode(source));
}

并在 api 上获取它

 @override
  Future<List<JobsDescriptionCardsModel>> getJobsDescrition() async {
    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();

    final int? id = sharedPreferences.getInt("idInfluencer");
    final String token = sharedPreferences.getString("token") ?? "";

    final result = await _restClient.get<List<JobsDescriptionCardsModel>>(
        "/job_acoes?influenciador_id=${id.toString()}",
        headers: {
          'Content-Type': 'application/json',
          'Accept': 'application/json',
          'Authorization': 'Bearer $token'
        }, decoder: (data) {
      if (data != null) {
        return data
            .map<JobsDescriptionCardsModel>(
                (j) => JobsDescriptionCardsModel.fromMap(j))
            .toList();
      }

      return <JobsDescriptionCardsModel>[];
    });

    if (result.hasError) {
      throw ("erro ao buscar dados");
    }
    return result.body ?? <JobsDescriptionCardsModel>[];
  }

API 给了我一个重要的列表。有了列表,我们将了解台历的概念。要继续并了解将要做什么,我建议您观看此视频:

完成日历的配置后,我相信您已经注意到,当您单击日期并打印具有日期数据的变量时,您会注意到表日历为您提供了日期时间作为返回,并且如果您有在我的模型中引起注意,我还有一个来自 api 的日期,知道我们只需要根据表日历数据过滤来自 api 的列表,如下所示:

首先像我们之前一样创建一个空列表和一个将被过滤的列表:

  //LISTA DE JOBS CARDS

  final cards = <JobsDescriptionCardsModel>[].obs;

  //LISTA FILTRADA

  var cardsFiltered = <JobsDescriptionCardsModel>[];

空列表将填充 api 数据,如下所示:

final jobsCards = await _jobsServices.getJobsDescrition();
        cards.assignAll(jobsCards);

有了现有的填充列表,我们将根据 api 日期过滤此列表,如下所示:

cardsFiltered = jobsCards;

        var novaLista = cardsFiltered.where((model) {
          return model.dataDoJob
              .toString()
              .contains(focusedDay.value.toString().substring(1, 10));
        });

看到吗,首先我将填充的列表分配给一个新列表,然后我根据我的模型仅在包含我字符串的部分中过滤此列表,与我单击它时记住的日期的变量进行比较?也转换为字符串,因为表日历为我提供了日期以及我认为是时间信息的其他数字,我仅从索引 1 到 10 获取了数据,这将准确地给出变量中包含的日期。完成后,表日历有一个名为 onDaySelected 的属性,它将显示我们的过滤列表,如下所示:

selectedDay(DateTime selectedDayInfo, DateTime focusDayInfo) {
    userSelectedDay.value = selectedDayInfo;
    focusedDay.value = focusDayInfo;
    print(userSelectedDay.value);
    print(focusedDay.value);

    print("Lista de eventos 2 ${eventsList}");

    var novaLista = cardsFiltered.where((model) {
      return model.dataDoJob
          .toString()
          .contains(focusedDay.value.toString().substring(0, 10));
    });

    cards.assignAll(novaLista);

我在控制器中创建了这个单独的函数,并在表日历中调用它,如下所示:

onDaySelected: (DateTime userSelectedDay, DateTime focusedDay) =>
                  controller.selectedDay(userSelectedDay, focusedDay),

完成后,您的日历将已经显示默认标记和基于您构建的小部件的卡片,请记住使用您通过构造函数请求的模型将数据传递到您的卡片,因为它包含 api 数据。我希望我有帮助,我对谷歌翻译英语感到抱歉

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用我的 flutter API 在表格日历上显示事件 的相关文章

  • 使用 urllib2 从 FlightRadar24 获取数据时出现问题

    我正在尝试使用下面的脚本从 FlightRadar24 获取数据 基于这个答案 https stackoverflow com a 526695 3904031来处理cookies 当我当前在浏览器中输入该 url 时 我会得到一个不错的长
  • Java Jackson:反序列化复杂的多态对象模型:JsonMappingException:意外的标记(START_OBJECT),预期的VALUE_STRING

    我有这棵对象树 A B延伸A C延伸B D 延伸 B E延伸C F 扩展 A 并且有一个对 A 的引用 A 有以下注释 JsonTypeInfo use JsonTypeInfo Id CLASS include JsonTypeInfo
  • Wiremock:如何匹配没有特定属性的 JSON 请求?

    我正在尝试模拟一个在 POST 中接受 JSON 正文的 API 调用 它有两种可能的响应 如果身体含有SearchCenter属性 回答 A 如果正文不包含SearchCenter 回答B In the 请求匹配 http wiremoc
  • Flutter 和 Openlayers - 包括 flutter 中的 js 库

    来自基于 js cordova 的跨平台领域 我最近正在深入研究 flutter 所以我想知道直接使用 flutter 中的各种 js 库的选项 更具体地说 我有兴趣在 flutter 中使用 openlayers 库来创建具有各种绘图和编
  • 如何在 JSFiddle 中链接外部 json 文件?

    我有一个很长的 json 文件country json name WORLD population 6916183000 name More developed regions population 1240935000 name Less
  • 生产者程序中的 kafka 网络处理器错误(ArrayIndexOutOfBoundsException:18)

    我有下面的 kafka Producer Api 程序 我对 kafka 本身是新手 下面的代码从 API 之一获取数据并将消息发送到 kafka 主题 package kafka Demo import java util Propert
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • AJAX:检查字符串是否为 JSON?

    我的 JavaScript 有时会在这一行崩溃 var json eval this responseText 当争论时会导致崩溃eval 不是 JSON 在进行此调用之前有什么方法可以检查字符串是否为 JSON 我不想使用框架 有什么方法
  • 简单、安全的API认证系统

    我有一个简单的 REST JSON API 供其他网站 应用程序访问我网站的一些数据库 通过 PHP 网关 基本上该服务的工作原理如下 调用 example com fruit orange 服务器返回有关橙子的 JSON 信息 问题是 我
  • 如何在 C# 中获取 Json 数组?

    我有一个像这样的 Json 字符串 我想将它加载到 C 数组中 当我尝试这样做时 我收到异常 我的字符串 customerInformation customerId 123 CustomerName Age 39 Gender Male
  • 从 Flutter 中删除底部导航栏上的默认内边距或边距

    这是问题的图片 它是底部导航栏上的默认填充吗 如果是 我该如何删除它 正如您在下面的代码中看到的 我在 BottomNavigationBarItem 内部有一个容器和一个图标 但图标和栏之间有一个空格 return Scaffold bo
  • Dart 如何模拟过程

    我如何去模拟一个过程 与函数相反 请参见here https stackoverflow com questions 23925384 dart mocking a function 例如 给定以下 typedef 和过程 typedef
  • 未捕获的类型错误:未定义不是函数

    我收到消息Uncaught TypeError Undefined is not a function当我尝试调用家庭控制器中的方法时 也许关于我为什么收到此消息的建议 findIdpActivities function pernr ca
  • 从哈希中删除 nil 值

    我希望从哈希中删除具有nil value article是一个存储每篇文章的类 并且attributes方法将文章存储为散列 预期结果 articles results author null title Former bar manage
  • 可以通过 url 发送 JSON 吗?

    我有一个 ruby 哈希 其中键是 url 值是整数 我将哈希值转换为 JSON 我想知道是否能够通过 AJAX 请求在 url 内发送 JSON 然后从 params 哈希值中提取该 JSON 另外 我将把 JSON 化的 ruby 哈希
  • Flutter - 如何将用户数据传递到所有视图

    我是 Flutter 世界和移动应用程序开发的新手 并且正在努力解决如何在整个应用程序中传递用户数据的问题 我已经尝试了几件事 但似乎没有一个很好 我确信我应该遵循一些最佳实践模式 因为它使示例更容易 所以我使用 firebase 进行身份
  • 来自 ajax 的 Bootstrap 表 json

    我有 ajax 和 bootstrap 表的问题 我有一个 ajax JSON 我用这个方法调用 document ready function ajax url php process php method fetchdata dataT
  • Laravel 5.4 将json保存到数据库

    帮我将 json 保存到数据库 表字段类型 文本 我有带有强制转换数组的模型 class Salesteam extends Model protected casts team members gt array 我想要像这样 index
  • Jackson Kotlin - 反序列化 JsonNode

    Problem 我有字符串形式的 JSON 内容 我首先想用 Jackson 以编程方式遍历它 然后 当我有感兴趣的节点时 我想反序列化它 我尝试过的 我已使用 mapper readValue 成功反序列化字符串 但现在我想在 jsonN
  • 使用 JSONArray 还是普通数组来存储/读取数据更有效?

    我正在使用一个连接到PHP MySQL返回所有内容的服务器JSON格式 例如 用户列表作为JSONArray of JSONObject 每个对象都包含单个用户的信息 姓名 位置 电话号码等 处理这种格式的信息时 将所有内容保留在其中会更有

随机推荐

  • 错误:未定义标签,如何在java中使用此代码中的标签语句?

    我在Java教科书中读到任何语句都可以被标记并且可以与break一起使用 但是在尝试此代码时 我收到错误未定义标签 stackoverflow 的伙计们在将这个问题标记为重复之前先等待 我已经检查了这些问题 但没有一个解释这个问题 publ
  • 如何从文件类型获取文件扩展名?

    我有一个文件名列表如下 files dl files 4j55eeer wq3wxxpiqm jpg home Desktop hjsd03wnsbdr9rk3k kd0dje7cmidj0xks03nd8nd8a3 问题是大多数文件的文件
  • SAP Crystal Reports Viewer 不显示在浏览器中

    我拥有一个使用框架 4 5 的 ASP NET Web 项目 已安装并实施适用于 VS2012 Crystal Reports Developer 的 SAP 报表 在本地报告中 它可以在浏览器 Chrome Firefox IE 中正常工
  • 有没有 numpy group by 函数?

    numpy 中是否有任何函数可以按第一列将该数组分组到下面 我在互联网上找不到任何好的答案 gt gt gt a array 1 275 1 441 1 494 1 593 2 679 2 533 2 686 3 559 3 219 3 4
  • Bootstrap 3 中的垂直对齐字形

    我有一个这样的字形 div class col xs 4 col sm 2 span class glyphicon glyphicon circle arrow up glyphicon large span div glyphicon
  • 在 WordPress 中获取页面(无帖子)的精选图像

    我需要显示所有页面的特色图像 而不是帖子 我有这个代码 img src class header img alt 但这仅显示一张特色图像 太感谢了 您可以简单地使用 WP Query 来获取它 loop new WP Query array
  • Yii2 自定义分页联合查询

    我想在 Yii2 中实现自定义分页 这是我的代码 connection Yii app gt getDb name GET name query SELECT name FROM user WHERE name LIKE name UNIO
  • Python 将十进制转换为十六进制

    我这里有一个函数可以将十进制转换为十六进制 但它以相反的顺序打印它 我该如何解决它 def ChangeHex n if n lt 0 print 0 elif n lt 1 print n else x n 16 if x lt 10 p
  • jQuery:无限滚动和后退按钮

    好吧 我知道这会给每个人带来问题 也给我带来问题 我在客户的网站上使用无限滚动插件 结合同位素插件按顺序加载他们的产品 问题是 因为他们有 1000 种产品 任何浏览该网站然后点击进入产品的人 当他们点击按后退按钮 它们将返回到顶部 或第一
  • 将多个文件导入到 R 中的单个合并数据框中

    我有 8 个 CSV 文件都在同一目录中 需要将它们导入到 R 中的单个数据框中 它们都遵循相同的命名约定 dataUK 1 csv dataUK 2 csv 等 并且具有完全相同的功能列的结构 我已经成功地使用以下方法创建了所有文件名 包
  • VS 2012 中的可变参数模板(Visual C++ 2012 年 11 月 CTP)

    我安装了Visual C 编译器 2012 年 11 月 CTP http www microsoft com en us download details aspx id 35515并创建了一个 C 控制台项目 我把这个写在 templa
  • 单态与单态

    当人们使用单态模式而不是单例来维护全局对象时 会出现什么情况 编辑 我知道什么是单例模式和单态模式 在很多场景中也实现了 Singleton 只是想知道MonoState模式需要实现的场景 案例 例如 我需要在 Windows 窗体应用程序
  • 如何设置 LIBUSB_INCLUDE_DIR

    我正在尝试为arm交叉编译libftdi 当我运行 Cmake 时 我得到 CMake Error The following variables are used in this project but they are set to N
  • 在 Iphone SDK 中显示 GPS 可用性和准确性

    如何编程以在 iPhone 中显示 GPS 可用性和准确度级别 并且它必须擦除标签中先前的纬度 经度信息 iOS sdk 中有一个类叫做 CLLocationManager 浏览 XCode 中的文档或查找一些示例 http mobileo
  • Jetpack Compose:如何以编程方式 onClick 将主题从浅色模式更改为深色模式

    TL DR 更改主题并在单击时在浅色和深色主题之间重新组合应用程序 你好 我有一个有趣的问题 我一直在努力解决 希望得到一些帮助 我正在尝试实现一个设置屏幕 让用户更改应用程序的主题 选择与系统设置匹配的深色 浅色或自动 我已成功设置主题动
  • 将值传递给 onclick [重复]

    这个问题在这里已经有答案了 如果我使用循环创建大量 HTML 元素 例如 for i 1 i lt 100 i var my element document createElement td row appendChild my elem
  • jquery Mobile url 添加 # 标签,该标签会破坏 Internet Explorer 中的表单

    大家好 我的问题是我有一个 jquery 移动网站 其链接与普通网站类似 例如 a href http mysite com login Login a 现在 当他们在 Firefox 等中转到该页面时 它会转到 http mysite c
  • c++: LLDB + Python - 如何在 python 脚本中打印 std::string

    我正在尝试 LLDB python 以便更好地将 json 字符串打印到文件中 对于给定的 std string 变量 称为缓冲区 我在 python 断点脚本中尝试了以下操作 以便漂亮地打印到文件中 全部都不成功 json dump fr
  • 使用 Selenium Webdriver 与 Stripe Card Element iFrame 交互 - Cucumber/Selenium Java

    我有一个表单 我想在 Java 中使用 Cucumber 和 Selenium Webdriver 来自动化 在这个表单中 我们有一个从 Stripe 中使用的卡片元素 我们称之为 div 剩下的由 stripe 完成 我不确定这是否是 i
  • 如何使用我的 flutter API 在表格日历上显示事件

    我有用于显示事件日历的 UI 并且需要显示 API 中的事件 但我不知道该怎么做 我尝试更改 event 上的列表 但没有响应 我需要在日历上显示它 以便我的公司日历可以显示该活动 这是我的 UI 日历 import package int