使用Javascript讀取telerik radgrid組件im行使用我沒有問題但是,我似乎無論如何發現回發時訪問行數據服務器端。我花了很多年尋找解決方案,但沒有運氣。 任何指針將不勝感激。訪問Telerik RadGrid中的行數據(服務器端)
託尼
使用Javascript讀取telerik radgrid組件im行使用我沒有問題但是,我似乎無論如何發現回發時訪問行數據服務器端。我花了很多年尋找解決方案,但沒有運氣。 任何指針將不勝感激。訪問Telerik RadGrid中的行數據(服務器端)
託尼
你可能想看看OwnerTableView對象,這將讓你訪問表示給定行的字段值的集合的DataKeyValues財產。我在EditCommand事件處理程序中使用它,因爲如果我的網站用戶點擊鏈接編輯網格中的一行,它就會被引導到編輯頁面,並且我需要傳遞關於查詢中給定行的某些信息串。
如果事實證明您是需要的,您還需要定義哪些字段應通過此屬性可用。爲此,請查看網格屬性表中的MasterTableView.DataKeyNames屬性。您基本上指定一個逗號分隔的字段名稱列表。
嗨克里斯,謝謝你的磨坊。這不適用於綁定到網格的項目。你知道如何訪問添加到網格的文本框,這些文本框沒有綁定,但用於捕獲用戶爲該列提供的任何行相關輸入感謝你,Tony – TonyNeallon 2009-01-08 10:12:10
到目前爲止,我只處理綁定列,但檢出http ://www.telerik.com/help/aspnet/grid/gridreferencecontrolsinroweditform.html和http://www.telerik.com/help/aspnet/grid/grdusinggetitemsgetcolumnmethods.html,它們可能會有所幫助。 – 2009-01-08 14:47:07
服務器端是容易的部分:
GridItemCollection gridRows = TestGrid.Items;
foreach (GridDataItem data in gridRows)
{
ItemClass obj = (ItemClass)data.DataItem;
}
它的客戶端部分,我不知道! :[
private Int32 GetID()
{
foreach (Telerik.Web.UI.GridDataItem dataItem in radGrid.MasterTableView.Items)
{
if (dataItem.Selected == true)
{
Int32 ID = (Int32)dataItem.GetDataKeyValue("ID");
return ID;
}
}
throw new ArgumentNullException("Id Not found");
}
private Int32 GetID()
{
foreach (Telerik.Web.UI.GridDataItem dataItem in radGrid.MasterTableView.Items)
{
if (dataItem.Selected == true)
{
// Int32 ID = (Int32)dataItem.GetDataKeyValue("ID");
Int32 ID =Convert.ToInt32(dataItem.GetDataKeyValue("ID"));
return ID;
}
}
}
//this will work
這是對我的作品,並使用RadGrid.SelectedItems集合的一個。
protected void LinkButton1_Click(object sender, EventArgs e)
{
List<Guid> OrderIdList = new List<Guid>();
foreach (GridDataItem OrderItem in this.RadGrid1.SelectedItems)
{
OrderIdList.Add(new Guid(OrderItem.GetDataKeyValue("OrderId").ToString()));
}
}
如果在標記或page init中爲動態控件正確創建了控件,那麼RadGrid將正確恢復狀態。
您可以訪問從數據源加載的初始值,如下面的示例所示,前提是您告訴相關表視圖以將列保留在數據鍵中。
protected T GetInitialGridData<T>(GridDataItem item, string uniqueColumnName) {
item.ThrowIfNull("item");
uniqueColumnName.ThrowIfNullOrEmpty("uniqueColumnName");
return (T)item.OwnerTableView.DataKeyValues(gridItem.ItemIndex)(columnName);
}
如果您使用的是動態自定義模板列,需要去,現在可能是在他們的國家的任何值,你可以使用:
protected string GetCustomTextBoxValue(GridDataItem item, string controlID) {
item.ThrowIfNull("item");
controlID.ThrowIfNullOrTrimmedEmpty("controlID");
return ((TextBox)item.FindControl(controlID)).Text;
}
是電網編輯?或者你只是試圖獲取網格中的數據? – 2009-01-08 00:43:53