找回密码
 立即注册

QQ登录

只需一步,快速开始

chin
注册会员   /  发表于:2019-7-25 17:52  /   查看:8573  /  回复:10
1金币
平台:asp.net core2.1flexgrid选择和编辑的数据能不能和普通的控件一样不通过js,直接和后台进行交互?

如果能实现的话,跪求实现的例子。

10 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-7-26 09:14:10
沙发
你好,你说的这个无法实现,这个是由于技术框架本身决定的

按照你说的需求,其实用asp.net Webform更合适,页面控件可以和后台直接交互
回复 使用道具 举报
chin
注册会员   /  发表于:2019-7-26 09:33:41
板凳
谢谢你的回答,也就是说asp.net mvc的平台下flexgrid绑定的list的值只能通过js取得传给后台,而不能直接跟后台进行交互的意思吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-7-26 11:26:53
地板
确实是这样的,你可以尝试看看开发包中的webform 演示程序
回复 使用道具 举报
chin
注册会员   /  发表于:2019-7-26 13:16:45
5#
我们项目决定用的平台是asp.net mvc,为什么Input或combobox等控件能通过for,asp-for传递到后台,flexgrid没有类似的属性吗?

回复 使用道具 举报
chin
注册会员   /  发表于:2019-7-26 15:07:29
6#
追问:flexgrid能不能不直接从js取数据,从后台取选择或编辑的数据?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-7-26 15:13:42
7#
需要先和你确认使用的是asp.net core mvc还是asp.net mvc,
另外你现在要解决的具体问题是什么,然后我帮你验证
https://help.grapecity.com/compo ... .html#FlexGrid.html
这个是asp.net core mvc的文档,如果您刚开始了解控件的话,建议参考文档
以及开发包中的demo示例代码: 文档\ComponentOne Samples
回复 使用道具 举报
chin
注册会员   /  发表于:2019-7-26 16:06:33
8#
本帖最后由 chin 于 2019-7-26 16:12 编辑

框架是asp.net core mvc。
flexgrid选择行的数据能不能不用js的JSON而是直接用form的post形式传到后台?

以下是后台经过js的JSON来获取的方法:
  1. <form>
  2. <c1-flex-grid auto-generate-columns="false" id="Grid"
  3. selection-mode="ListBox"
  4. allow-sorting="false">
  5. <c1-flex-grid-column binding="Id"></c1-flex-grid-column>
  6. <c1-flex-grid-column binding="Group"></c1-flex-grid-column>
  7. <c1-flex-grid-column binding="Name"></c1-flex-grid-column>
  8. <c1-flex-grid-column binding="Flag"></c1-flex-grid-column>
  9. <c1-flex-grid-column binding="ComboboxList">
  10. <c1-data-map display-member-path="Name" selected-value-path="Code">
  11. <c1-items-source source-collection="comboboxList"></c1-items-source>
  12. </c1-data-map>
  13. </c1-flex-grid-column>
  14. <c1-items-source source-collection="@list" />
  15. </c1-flex-grid>
  16. <button id="btn1" type="button" class="btn btn-primary btn-sm">post</button>
  17. </form>


  18. @section Scripts{
  19. <script type="text/javascript">
  20. $(document).ready(function () {
  21. var grid = wijmo.Control.getControl("#Grid");

  22. var list = []
  23. $('#btn1').on('click', function () {
  24. var $this = $(this);
  25. var list = [];
  26. var test = "";
  27. var rows = grid.rows;
  28. for (var i = 0; i < rows.length; i++) {
  29. if (rows.isSelected) {
  30. list.push(grid.rows.dataItem);
  31. }
  32. }
  33. $.ajax({
  34. type: "POST",
  35. contentType: "application/json",
  36. url: "/Test/Index2",
  37. data: JSON.stringify(list),
  38. dataType: "json",
  39. success: function (result) {
  40. },
  41. error: function (err) {
  42. }
  43. });
  44. return false;
  45. });
  46. });
  47. </script>
复制代码
  1. public IActionResult Index1()
  2.         {
  3.             MasterService service = new MasterService();
  4.             ViewBag.ComboboxList = service.QueryMasterList();
  5.             ViewBag.List = DataService.QueryDataList();
  6.             return View();
  7.         }
  8.         [HttpPost]
  9.         [Produces("application/json")]
  10.         public IActionResult Index2([FromBody]IList<DataEntity> list)
  11.         {
  12.             return View(list);
  13.         }   
  14.             
复制代码


回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-7-26 18:22:06
9#
本帖最后由 Richard.Ma 于 2019-7-26 18:23 编辑

抱歉,本身不支持,如果确实要用form提交只能通过二次开发来实现,但是并不是一个好的方式


回复 使用道具 举报
chin
注册会员   /  发表于:2019-7-29 16:31:25
10#
谢谢你的回答,顺便再追问一下,如果想在flexgrid的cell里添加按钮或链接的话,也只能通过js来添加吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部