c#将datatable生成easyui的绑定tree的json数据格式

IT足迹      2022-02-09     491

关键词:

在用easyui控件的时候常用到他能解析的 接送数据,我们可以通过c#将我们从数据库中得到datatable转换成那样的格式,datagrid的好转换,简单的循环拼串就可以,不过 easyui绑定树的时候的接送数据格式稍有不同,比datagrid和datagridtree得到json数据要稍微复杂一些,我写了性能虽然不是很 好的,但是也能得到想要的数据!

/// <summary>
    /// 根据DataTable生成Json树结构
    /// </summary>
    /// <param name="tabel">数据源</param>
    /// <param name="idCol">ID列</param>
    /// <param name="txtCol">Text列</param>
    /// <param name="rela">关系字段</param>
    /// <param name="pId">父ID</param>
    StringBuilder result = new StringBuilder();
    StringBuilder sb = new StringBuilder();
    private void GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string rela, object pId)
    {
        result.Append(sb.ToString());
        sb.Clear();
        if (tabel.Rows.Count > 0)
        {
            sb.Append("[");
            string filer = string.Format("{0}=‘{1}‘", rela, pId);
            DataRow[] rows = tabel.Select(filer);
            if (rows.Length > 0)
            {
                foreach (DataRow row in rows)
                {
                    sb.Append("{"id":"" + row[idCol] + "","text":"" + row[txtCol] + "","state":"open"");
                    if (tabel.Select(string.Format("{0}=‘{1}‘", rela, row[idCol])).Length > 0)
                    {
                        sb.Append(","children":");
                        GetTreeJsonByTable(tabel, idCol, txtCol, rela, row[idCol]);
                        result.Append(sb.ToString());
                        sb.Clear();
                    }
                    result.Append(sb.ToString());
                    sb.Clear();
                    sb.Append("},");
                }
                sb = sb.Remove(sb.Length - 1, 1);
            }
            sb.Append("]");
            result.Append(sb.ToString());
            sb.Clear();
        }
    }

调用方法很简单,运行这个void 类型的函数,然后取result 的值就行了,

GetTreeJsonByTable(datatable, "id", "title", "pid", "0");
string content = result.ToString();

 

C# 问题:如何将在 DataGridView 中所做的更改保存回使用的 DataTable?

...问题描述】:我从DataSet中获取DataTable,然后将该DataTable绑定到DataGridView。一旦用户编辑了DataGridView 查看详情

c#中datatable绑定combobox显示数据有重复怎么处理?取值时未用sql语句。

...取值就有重复显示就有重复对应去的的数据集进行去重在绑定 参考技术B你看下datatable的值是什么?是不是取值的时候就重复了。 查看详情

如何将表 tr 和 td 与角度 11 中的对象数组绑定

...:2021-08-1211:38:36【问题描述】:我正在尝试使用数组列表生成一个表。我想根据以下数据生成TR和TD。当我有一个数据时,它按预期工作,在TR属性中添加一个ngfor。我想根据API结果重复TR和TD。这是我尝试过的代码示例。<tablecla... 查看详情

c#使用datatable进行数据绑定

    privatevoidbtnReport2_Click(objectsender,EventArgse)          //绑定数据到下拉列表      DataBasedb=newDataBase();      db.Open();      DataTabledt   =db.GetTableBySql("select*fromsupp where[Ty 查看详情

将easyui-datagrid中的数据动态生成为table(代码片段)

...d="table_excel"style="text-align:center;display:block;"></table>//生成---table_excel------------------------------------------------------//第一行列名strRow="<tr>";varcols=$(‘#grid‘).datagrid(‘getColumnFields‘);//获取所有列//console.log(cols.length);总列数for(va... 查看详情

c#如何撰写将一个datatable的所有奇数行提取出来生成一个表,所有偶数行提取出来生成一个表?

...DataView,用DataView.RowFilter做筛选,然后用DataView.ToTable()直接生成Table。我没时间做试验了,你可以试一下。另外,如果只是想得到奇数行和偶数行的集合,用LINQ更方便:varoddRows=table.Rows.Cast<DataRow>().Where((row,index)=>index%2==0).ToA... 查看详情

如何根据数据表生成脚本? (将 DataTable 转换为 SQL 查询)

】如何根据数据表生成脚本?(将DataTable转换为SQL查询)【英文标题】:Howtogenerateascriptbasedonadatatable?(ConvertDataTabletoSQLQuery)【发布时间】:2019-10-2704:06:42【问题描述】:我想知道是否有任何方法可以创建基于C#数据表的SQL查询?... 查看详情

如何从没有绑定源 C# 生成的 datagridview 中检索数据源?

】如何从没有绑定源C#生成的datagridview中检索数据源?【英文标题】:HowtoretrievethedatasourcefromadatagridviewgeneratedwithoutabindingsourceC#?【发布时间】:2021-12-3005:31:10【问题描述】:我的代码中有一个datagridview。我已经通过我的程序结果... 查看详情

如何将 DataTable 绑定到 Datagrid

】如何将DataTable绑定到Datagrid【英文标题】:HowtobindDataTabletoDatagrid【发布时间】:2014-01-1306:14:02【问题描述】:我在将DataTable绑定到DataGrid时遇到问题。我已经寻找解决方案,但无法摆脱错误。绑定在使用WindowsForms时工作正常,... 查看详情

c#使用datatable进行数据绑定

...privatevoidbtnReport2_Click(objectsender,EventArgse)          //绑定数据到下拉列表      DataBasedb=newDataBase();      db.Open();      DataTabledt   =db.GetTableBySql("select*fromsupp where[Type]='生产厂家'");      fac.Da... 查看详情

将行号列添加到绑定到 DataTable 的 DataGridView

】将行号列添加到绑定到DataTable的DataGridView【英文标题】:AddrownumbercolumntoDataGridViewboundtoDataTable【发布时间】:2020-03-1306:41:33【问题描述】:在ADO.NET中,我使用DataAdapter.Fill(..)调用来使用数据库中的值填充DataTable。然后我将DataTa... 查看详情

将 DataTable 转换为字典 C#

】将DataTable转换为字典C#【英文标题】:TransformaDataTableintoDictionaryC#【发布时间】:2013-11-1120:08:14【问题描述】:我想知道如何将DataTable转换为Dictionary。我做了这样的事情。usingSystem.Linq;internalDictionary<string,object>GetDict(DataTable... 查看详情

将 DataGrid 绑定到两个 DataTable

】将DataGrid绑定到两个DataTable【英文标题】:BindingDataGridtotwoDataTable【发布时间】:2015-12-1408:31:56【问题描述】:我有两个DataTable,它们的结构、架构和约束完全相同,但行不同。我需要将这些表显示为DataGrid,并连接在一起,即... 查看详情

c#绑定datagridview时显示进度条

我datagridview是用Dataset通过表直接绑定的。没有将表通过循环来绑定到datagridview。这个时候进度条怎么真实显示绑定进度dataGridView1.DataSource=mydt;mydt为datatable我是通过表直接绑定,我想在绑定的同时进度条也同时根据比例进行显示... 查看详情

将 SQL 表读入 C# DataTable

】将SQL表读入C#DataTable【英文标题】:ReadSQLTableintoC#DataTable【发布时间】:2011-08-2917:24:16【问题描述】:我已经阅读了很多关于将DataTable插入SQL表的帖子,但是有没有一种简单的方法可以将SQL表拉入.NETDataTable中?【问题讨论】:... 查看详情

C# - 将 DataReader 转换为 DataTable

】C#-将DataReader转换为DataTable【英文标题】:C#-ConvertingDataReadertoDataTable【发布时间】:2021-06-2315:24:30【问题描述】:我想将DataReader转换为DataTable以显示数据库中的列表(demoClients)中的所有客户。目前我有这个:usingSystem;usingSyste... 查看详情

C# DataTable -> 需要根据列值生成一个ID

】C#DataTable->需要根据列值生成一个ID【英文标题】:C#DataTable->NeedtogenerateanIDbasedonthecolumnvalues【发布时间】:2021-08-1910:03:07【问题描述】:ValueIDAAABBC期望的输出ValueIDA1A1A1B2B2C3我需要根据对值列进行分组来创建ID。所有A和B的... 查看详情

c#将datatable转换成list的方法

本文实例讲述了C#将DataTable转换成list及数据分页的方法。分享给大家供大家参考。具体如下:///<summary>  ///酒店评论列表-分页 ///</summary> ///<paramname="userId"></param> ///<paramname="pageIndex 查看详情