kendo ui 里面的grid能进行行合并吗如果能的话怎么做最好给个例子

kendo ui 里面的grid能进行行合并吗如果能的话怎么做最好给个例子,第1张

我用的是较早的版本kendouiweb20132716open-source。

在用kendoGrid使用Inline的行内编辑/新增时,如果设置参数batch: false,第一次新增没问题,第二次新增加了两行,观察发现它不适宜的记住了上次那个新增的model,还要一起提交。所有新增的行都会再次新增。

kendo的代码太繁琐,实在懒得去跟踪。找个个简单的解决办法:

修改设置batch: true,然后在初始化kendoGrid代码中的数据映射方法中强制指定要提交的值:

[javascript] view plain copy

parameterMap: function (options, operation) {

if (operation !== "read" && optionsmodels) {

options = optionsmodels[0];

}

return options;

}

这样在后台如同窗体提交时,直接获取Post的值即可。

强制指定是避免kendoui给参数添加类似model[0]之类的前缀,管理端获取Post值和正常窗体提交格式不能保持一致了。

WinForm程序中 表格GridControl

(1)在WinForm程序中,要使用表格控件,需要找到控件GridControl,在Run Designer中,我们可以设置表格的属性和列的属性,Views为表格的属性,Columns为列的属性

在列的属性中FieldName为数据库字段,此字段必须和数据库一致

Caption为列显示的列名

ColumnEdit可以对该列的类型进行转换,如果需要将该列转换为下拉框形式,那么就选择ComboboxEdit

(2)在左边导航Appearance中可以设置表格的样式

(3)GridControl的数据源

在我使用该控件的过程中,我不太喜欢给该控件绑定一个数据源,我觉得在解决方案中会添加一些文件,所以我习惯用代码的形式来为其指定数据源

假设GridControl有四列,分别为StuNo,StuName,StuSex,StuAge

在页面后台程序中需要这样写

string sql = "select StuNo,StuName,StuSex,StuAge from StudentInfos";

DataTable dt = UtilsExecuteDataTable(sql);(注:Utils为工具类,里面写的为一些查询方法)

GridControlDataSource = dt;

(4)如果以上DataTable需要手动为其绑定值,即没有固定的sql来获取数据库的数据

DataTable table = new DataTable();

tableColumnsAdd("check", SystemTypeGetType("SystemBoolean")); (该列为表格的复选框列,需要在列属性中设置为CheckEdit,并将类型设置为Boolean)

tableColumnsAdd("StuNo");

tableColumnsAdd("StuName");

tableColumnsAdd("StuSex");

tableColumnsAdd("StuAge");

DataRow dr = tableNewRow();

dr[1] = "010";

dr[2] = "张三";

dr[3] = "男"

dr[4] = "23";

tableRowsAdd(dr);

gridControl1DataSource = table;

gridView1BestFitColumns(); //使表格列自适应整个表格,内容少则表格显示得短,如果列的内容很多,在品目上显示不完,那么就自动产生横向滚动条

gridView1为gridControl中的表格,gridControl和girdView是一体的,gridControl相当于gridView的外壳

(5)获取表格数据显示的列的总数

int rowCount = gridView1DataRowCount;

//获取表格的宽度

int width = thisgridControl1Width;

//为列设置宽度

gridView1Columns["StuNo"]Width = width - 190;

(6)获取选中的复选框行(即在表格中勾选复选框)

DataTable dt = (DataTable)gridControl1DataSource;

//获取选中的学生编号

string str = "";

for (int i = 0; i < dtRowsCount; i++)

{

if (dtRows[i]["check"] != DBNullValue)

{

if (ConvertToBoolean(dtRows[i]["check"]) == true)

{

str += dtRows[i]["StuNo"]+",";

}

}

}

(7)全选

DataTable dt = (DataTable)gridControl1DataSource;

if (dt == null)

{

return;

}

if (dtRowsCount > 0)

{

for (int i = 0; i < dtRowsCount; i++)

{

dtRows[i]["check"] = true;

}

}

如果数据量多的话,或者需要几页grid的id,建议后台取值,比较快。

如果就取一页grid的值的话,给你个参考

1

2

3

4

var s = "";

for(var i=0;i<grid_datalength;i++){

s = s + grid_data[i]id+",";

}

PS: grid是你定义的kendoGrid的id

以上就是关于kendo ui 里面的grid能进行行合并吗如果能的话怎么做最好给个例子全部的内容,包括:kendo ui 里面的grid能进行行合并吗如果能的话怎么做最好给个例子、winform表格有行列序号单元格可编辑的地图、kendoui grid如何获取当前多少页等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10638787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存