<telerik:RadGrid runat="server" ID="FileListView" AutoGenerateColumns="false" Skin="Windows7"
Width="100%" OnDeleteCommand="FileListView_DeleteCommand">
<MasterTableView>
<Columns>
<telerik:GridButtonColumn UniqueName="DeleteColumn" ButtonType="ImageButton" CommandName="Delete"
ConfirmTitle="Confirm" ConfirmText="Continue deleting file?" /> <telerik:GridBoundColumn UniqueName="file" DataField="file" Visible="false" ReadOnly="true" /><telerik:GridBoundColumn UniqueName="Attachedfiles" DataField="Attached files" HeaderText="File" />
<telerik:GridBoundColumn UniqueName="Attachedby" DataField="Editor" HeaderText="Attached by" />
<telerik:GridBoundColumn UniqueName="Attachedat" DataField="Modified" HeaderText="Attached at" />
</Columns>
</MasterTableView>
</telerik:RadGrid>
protected void FileListView_DeleteCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
string filename = editedItem["file"].Text;
logic continues...
but in the above code filename has   as the value. means filename contains empty space as it value instead of actual file name
Please suggest.
5 Answers, 1 is accepted

The value is returning " " because Visible property is set as false. Try setting Display property instead and access the value.
aspx:
<
telerik:GridBoundColumn
UniqueName
=
"file"
DataField
=
"file"
Display
=
"false"
ReadOnly
=
"true"
/>
Thanks,
Shinu

My code as below, but name still get " ",I don't know what happened.
foreach (GridEditableItem editedItem in (fvESD1.FindControl("GvFieldValue") as RadGrid).EditItems) //將CbCategoryName未選擇欄位隱藏
{
string name = editedItem["Name"].Text.Trim();
if ((fvESD1.FindControl("CbCategoryName") as RadComboBox).SelectedValue != name)
{
editedItem.Attributes.Add("style", "display:none");
}
}
}

I'm not clear about your requirement, I guess you want to access values in edit mode on a button click. Please try the below code snippet. If this doesn't help, elaborate on your requirement and provide your aspx page also.
ASPX:
<
telerik:GridBoundColumn
DataField
=
"ShipCity"
HeaderText
=
"ShipCity"
UniqueName
=
"ShipCity"
Display
=
"false"
/>
<
telerik:GridTemplateColumn
HeaderText
=
"ShipCountry"
DataField
=
"shipCountry"
>
<
ItemTemplate
>
<%# Eval("ShipCountry") %>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadComboBox
ID
=
"RadComboBox1"
runat
=
"server"
DataSourceID
=
"SqlDataSource2"
DataTextField
=
"ShipCountry"
DataValueField
=
"ShipCountry"
>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
C#:
//On a button click
protected
void
btnSave_Click(
object
sender, EventArgs e)
{
foreach
(GridDataItem item
in
RadGrid1.EditItems)
{
GridEditableItem edititem = (GridEditableItem)item.EditFormItem;
TextBox txt = (TextBox)edititem[
"ShipCity"
].Controls[0];
// Access a bound column in edit
string
name = txt.Text;
// gets the text
RadComboBox combo = (RadComboBox)edititem.FindControl(
"RadComboBox1"
);
// Access a RadComboBox in template column in edit
string
value = combo.SelectedValue;
//gets the selcted value
}
}
Thanks,
Shinu

I do my best to list aspx page,because it doesn't attach all file,Thanks!
<telerik:GridTextBoxColumnEditor runat="server" ID="MyEditor">
<TextBoxStyle Width="300px" />
</telerik:GridTextBoxColumnEditor>
<telerik:RadGrid ID="GvFieldValue" runat="server" Height="220px"
AutoGenerateColumns="False" CellSpacing="0"
GridLines="None"
AllowAutomaticUpdates="True" AllowMultiRowEdit="True"
onitemcreated="GvFieldValue_ItemCreated"
onprerender="GvFieldValue_PreRender"
ondatabound="GvFieldValue_DataBound"
onneeddatasource="GvFieldValue_NeedDataSource" Width="500px" >
<ClientSettings>
<Scrolling AllowScroll="True" ></Scrolling>
</ClientSettings>
<MasterTableView InsertItemPageIndexAction="ShowItemOnCurrentPage" EditMode="InPlace">
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="Type"
FilterControlAltText="Filter Type column" HeaderText="Type"
UniqueName="Type" ReadOnly="True" Visible="True">
<FooterStyle Width="80px" />
<HeaderStyle Width="80px" />
<ItemStyle Width="80px" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Name"
FilterControlAltText="Filter Name column" HeaderText="Name"
UniqueName="Name" ReadOnly="True" Visible="True">
<FooterStyle Width="80px" />
<HeaderStyle Width="80px" />
<ItemStyle Width="80px" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Seq"
FilterControlAltText="Filter Seq column" HeaderText="Seq"
UniqueName="Seq" ReadOnly="True" Visible="True">
<FooterStyle Width="30px" />
<HeaderStyle Width="30px" />
<ItemStyle Width="30px" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Value" ColumnEditorID="MyEditor"
FilterControlAltText="Filter Value column" HeaderText="Value"
UniqueName="Value" MaxLength="500" Visible="True">
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
<FilterMenu EnableImageSprites="False"></FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
</telerik:RadGrid>

I guess you want to access the ReadOnly columns in InPlace edit mode. You can set that DataField as DataKeyNames and access it in the code behind as follows:
ASPX:
<
MasterTableView
DataKeyNames
=
"Name"
>
C#:
foreach
(GridDataItem item
in
GvFieldValue.EditItems)
{
string
val = item.GetDataKeyValue(
"Name"
).ToString();
}
Also take a look at this article on Updating Values Using InPlace and EditForms Modes
Thanks,
Shinu