
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中元素所在行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)