怎么获取DataGrid或者RadGridView单元格里的值

怎么获取DataGrid或者RadGridView单元格里的值,第1张

XAML:

<telerik:RadGridView FrozenColumnCount="1" CanUserFreezeColumns="False" IsReadOnly="False" AutoGenerateColumns="False" GridColumn="0" GridRow="0" Name="radGridView1" DataLoadMode="Asynchronous" Height="Auto" >

</telerik:RadGridView>

注意:必须FrozenColumnCount="1" CanUserFreezeColumns="False",这样做以防止出现横向滚动条的时候,获取的列发生变化。

CS:

GridViewDataColumn gv0 = new GridViewDataColumn();

gv0Header = "系统批次号";

gv0IsReadOnly = true;

Binding MyBinding0 = new Binding();

MyBinding0Path = new PropertyPath("系统批次号");

MyBinding0Mode = BindingModeOneWay;

gv0DataMemberBinding = MyBinding0;

gv0MinWidth = 00001;//不能为0,也不能超过4位小数,不然都抓取不到

gv0Width = 00001;//不能为0,也不能超过4位小数,不然都抓取不到

gv0IsGroupable = false;//防止分组

gv0IsResizable = false;//防止鼠标改变列宽

gv0IsSortable = false;//防止排序

gv0IsFilterable = false;//防止过滤

thisradGridView1ColumnsAdd(gv0);

获取办法:

GridViewRow row = thisradGridView1ItemContainerGeneratorContainerFromItem(radGridView1SelectedItem) as GridViewRow;

if (row != null)

{

var cell = rowCells[0] as GridViewCell;//我需要获取的列的Index是0,所以这里是Cells[0]

if (cell != null)

{

MessageBoxShow(cellValueToString());//Show出值

}

}

colNames=$("#UsersGrid")jqGrid('getGridParam','colNames')colModel=$("#UsersGrid")jqGrid('getGridParam','colModel') 楼主去学下调试工具,firebug或者chrome的开发工具,看结构就知道了

你可以使用SuperGridControl的FindRowByCell方法来获取指定单元格所在的行,例如:SuperGridControl1FindRowByCell(cell); 其中,cell为要查找的单元格对象。另外,你也可以使用SuperGridControl的GetRowIndex方法来获取指定单元格所在的行号,例如:int rowIndex = SuperGridControl1GetRowIndex(cell);

gridView1FocusedValue;

gridView1GetFocusedValue(); //Returns the focused cell value

gridView1GetFocusedRowCellValue(gridView1FocusedColumn);

gridView1GetFocusedRowCellValue(gridView1FocusedColumnFieldName);

都可以

先获得是第几行

a = eRowIndex;

dataGridView1Rows[a]Cells[0]ValueToString();

dataGridView1Rows[a]Cells[1]ValueToString();

参考jqGrid的源代码,getRowData的实现方法是遍历tr获取td的innerhTML。 getRowData在单元格和行编辑模式下受到影响,在表单编辑模式没问题,因为表单没有直接修改jqGrid生成输入对象,而是在新的控件中生成编辑对象。 要想在单元格和行编辑模式下getRowData返回实际的数据行,而不是包含html代码的内容,可以参考下面的。

对于单元格编辑,需要先还原或者保存此单元格,然后再调用getRowData方法,实现如下

1、给grid添加beforeEditCell事件,声明2个window域的变量记录单元格的行号和列号 beforeEditCell:function(rowid,cellname,v,iRow,iCol){ lastrow = iRow; lastcell = iCol; } 2、在调用getRowData获取数据前,先保存/还原单元格 $("#grid")jqGrid("saveCell",lastrow,lastcell);//保存单元格,切换为文本模式 //或者===> //$("#grid")jqGrid("restoreCell",lastrow,lastcell);//还原单元格,切换为文本模式 var recs=$("#grid")jqGrid("getRowData"); 对于行编辑模式,原理一样,还原正在编辑的行或者保存数据到内存中 1,调用editRow时传递oneditfunc事件处理函数保存正在编辑的行的id $('#list4')jqGrid('editRow', rowid, true, function (rowid) { windowrowid=rowid; }); 2,在调用getRowData获取数据前,先保存/还原正在编辑的数据行 jQuery("#grid_id")saveRow(rowid, false, 'clientArray'); //==>或者还原 //jQuery("#grid_id")restoreRow(rowid); var recs=$("#grid")jqGrid("getRowData");

前台代码:

<Grid >

<GridRowDefinitions>

<RowDefinition/>

<RowDefinition Height="25"/>

</GridRowDefinitions>

<DataGrid Name="dg" AutoGenerateColumns="True" RowHeaderWidth="0" SelectedCellsChanged="dg_SelectedCellsChanged" SelectionUnit="Cell"></DataGrid>

<TextBlock GridRow="1" Name="txt"/>

</Grid>

后台代码:

public partial class BaiduKnows : Window

{

public BaiduKnows()

{

InitializeComponent();

List<People> peoplelist = new List<People>();

peoplelistAdd(new People() { age = 10, name = "linda" });

peoplelistAdd(new People() { age = 11, name = "tom" });

peoplelistAdd(new People() { age = 12, name = "peter" });

peoplelistAdd(new People() { age = 13, name = "mary" });

dgItemsSource = peoplelist;

}

class People

{

public int age { get; set; }

public string name { get; set; }

}

private void dg_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)

{

DataGrid dg = sender as DataGrid;

People item = dgSelectedCells[0]Item as People;

string colhead = dgSelectedCells[0]ColumnHeaderToString();

switch (colhead)

{

case "age" : txtText = itemageToString();

break;

case "name": txtText = itemnameToString();

break;

}

}

}

以上就是关于怎么获取DataGrid或者RadGridView单元格里的值全部的内容,包括:怎么获取DataGrid或者RadGridView单元格里的值、jqGrid如何通过点击单元格的值来获取当前单元格的行标题与列标题、怎么获取supergridecontrol中元素所在行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9720753.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存