一、从客户端对AspxGridView的列进行取值与赋值1.使用GetPageRowValues取当前页指定栏位值语法;function GetPageRowValues(fieldNames : String,onCallback : ASPxClientGridViewValuesCallback);
例:
function GetPageRowValues() {
var fieldNames = document.getElementById("txtFieldName_GetPageRowValues").value;
grid.GetPageRowValues(fieldNames, GetPageRowValues_Callback);
}
function GetPageRowValues_Callback(result) {
var msg = "";
if (result.length > 0) {
for (var i = 0; i < result.length; i++) {
msg = msg + result[i].toString() + ",";
}
msg = msg.substring(0, msg.length - 1);
}
alert(msg);
}
2.使用GetRowValues取指定行指定栏位值语法:function GetRowValues(visibleIndex : int,fieldNames : String,
onCallback : ASPxClientGridViewValuesCallback);
3.使用GetSelectedFieldValues取选中行指定栏位值语法:function GetSelectedFieldValues(fieldNames : String,onCallback :ASPxClientGridViewValuesCallback);
4.取栏位实例(1)使用GetColumn方法
语法:function GetColumn(columnIndex : int) : ASPxClientGridViewColumn;
(2)使用GetColumnByField方法
语法:function GetColumnByField(columnFieldName : String) : ASPxClientGridViewColumn;
(3)使用GetColumnById方法
语法:function GetColumnById(columnId : String) : ASPxClientGridViewColumn;
5.使用GetColumnsCount取栏位总数语法:function GetColumnsCount() : int;
6.使用MoveColumn隐藏和移动栏位(1)隐藏列
语法1:void MoveColumn(ASPxClientGridViewColumn column);
语法2:void MoveColumn(int columnIndex);
语法3:void MoveColumn(string columnFieldNameOrId);
(2)移动列
语法4:void MoveColumn(ASPxClientGridViewColumn column, int moveToColumnVisibleIndex);
语法5:void MoveColumn(int columnIndex, int moveToColumnVisibleIndex);
语法6:void MoveColumn(string columnFieldNameOrId,int moveToColumnVisibleIndex);
语法7:void MoveColumn(string columnFieldNameOrId,int moveToColumnVisibleIndex, bool
moveBefore);
语法8:void MoveColumn(int columnIndex, int moveToColumnVisibleIndex, bool moveBefore);
语法9:void MoveColumn(ASPxClientGridViewColumn column, int moveToColumnVisibleIndex, bool
moveBefore);
语法10:void MoveColumn(string columnFieldNameOrId,int moveToColumnVisibleIndex, bool
moveBefore, bool moveToGroup);
语法11:void MoveColumn(int columnIndex, int moveToColumnVisibleIndex, bool moveBefore,
bool moveToGroup);
语法12:void MoveColumn(ASPxClientGridViewColumn column, int moveToColumnVisibleIndex, bool
moveBefore, bool moveToGroup);
语法13:void MoveColumn(ASPxClientGridViewColumn column, int moveToColumnVisibleIndex, bool
moveBefore, bool moveToGroup, bool moveFromGroup);
语法14:void MoveColumn(string columnFieldNameOrId,int moveToColumnVisibleIndex, bool
moveBefore, bool moveToGroup, bool moveFromGroup);
语法15:void MoveColumn(int columnIndex, int moveToColumnVisibleIndex, bool moveBefore,
bool moveToGroup, bool moveFromGroup);
7. 使用GetRowKey取行主键值语法:string function GetRowKey(visibleIndex : int)
二、从服务器端对AspxGridView的列进行取值与赋值1.取得某一行数据的方法:(1)使用GetDataRow方法取指定行数据
语法:DataRow GetDataRow(int visibleIndex)
visibleIndex:行号。可以是不在当前页上的行。只有通过DataSourceID绑定数据才可获取到数据,如果通过DataSource绑定数据是获取不到值的。
例:
string srowIndex = this.txtGetDataRowIndex.Text;
int rowIndex;
if(Int32.TryParse(srowIndex,out rowIndex))
{
DataRow dr = this.ASPxGridView1.GetDataRow(rowIndex);//取指定行数据
if (dr != null)
{
string msg = "LogID=" + dr["LogID"].ToString() + ";Event=" + dr["Event"].ToString();
Response.Write(msg);
}
}
(2)使用GetRow方法取指定行数据
语法:object GetRow(int visibleIndex)
visibleIndex:行号。可以是不在当前页上的行。
该函数返回的是object类型,实际类型通常是DataRowView。
2.取得某一列的数据(1)使用GetRowValues方法获取指定栏位值
语法:object GetRowValues(int visibleIndex,parms string fieldnames[])
如果fieldNames只指定一个栏位,GetRowValues将返回object类型,程序员应转换为正确的数据类型。如果fieldNames指定了多个栏位,GetRowValues将返回object[]类型,可以通过is判断返回值。
例:
string srowIndex = this.txtGetDataRowIndex.Text;
int rowIndex;
string[] fieldName;
string tempFieldName;
object tempColumnValues;
object[] columnValues;
StringBuilder msg = new StringBuilder();
int count=0;
tempFieldName = this.txtGetValueColumnNames.Text;
fieldName = tempFieldName.Split(',');//分解字符串到数组
if (Int32.TryParse(srowIndex, out rowIndex))
{
tempColumnValues = this.ASPxGridView1.GetRowValues(rowIndex, fieldName);//取值
if (tempColumnValues is System.Object[])//返回数组
{
columnValues = (System.Object[])tempColumnValues;
count = Math.Min(fieldName.Length, columnValues.Length);
for (int i = 0; i < count; i++)
{
msg.Append(fieldName[i] + "=" + columnValues[i].ToString());
}
}
else//返回单个值
{
msg.Append(tempFieldName);
msg.Append("=");
msg.Append(tempColumnValues.ToString());
}
Response.Write(msg.ToString());
}
(2)使用GetRowValuesByKeyValue方法获取指定栏位值
语法:object GetRowValuesByKeyValue(object keyValue,parms string fieldnames[])
GetRowValuesByKeyValue方法与GetRowValues方法类似,只是前者通常主键值找到对应行再获取栏位值而已。
(3)使用GetSelectedFieldValues方法获取选中行指定栏位值
语法:List<object >GetSelectedFieldValues(parms string fieldnames[])
如果fieldNames只指定一个栏位,GetSelectedFieldValues将返回object列表(各栏位值数组),程序员应转换为正确的数据类型。如果fieldNames指定了多个栏位,GetSelectedFieldValues将返回object[]列表(逐行指定栏位值数组),可以通过is判断返回值。
例:
string tempFieldName = this.txtGetValueColumnNames.Text;
string[] fieldName = tempFieldName.Split(',');//分解字符串到数组
StringBuilder msg = new StringBuilder();
List<object > tempFieldValues = this.ASPxGridView1.GetSelectedFieldValues(fieldName);//取选中行栏位值
//GetSelectedFieldValues返回值先行后列(类似二维数组)
//行列值行列值行列M值
//行N列值行N列值行N列M值
for (int i = 0; i < tempFieldValues.Count; i++)
{
if (tempFieldValues[i] is System.Object[])//返回数组
{
object[] fieldValues = (object[])tempFieldValues[i];
for (int j = 0; j < fieldValues.Length; j++)
{
msg.Append(fieldValues[j].ToString());
}
}
else
{
msg.Append(tempFieldValues[i].ToString());
}
}
Response.Write(msg.ToString());
(4)使用GetCurrentPageRowValues方法获取当前页指定栏位值
语法:List<object >GetCurrentPageRowValues (parms string fieldnames[])
用法类似GetSelectedFieldValues。