- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 radgrid,每行都有一个 radcombobox。我想在选择组合框后获取行的 ID(有人在下拉列表中选择一个值)。我正在使用 radgrid 的 onitemcreated 属性在代码后面调用我的方法。但是,我无法读取属于所选组合框所属行的 ID 的值。任何人都可以提供任何建议。我尝试了 Telerik 的所有样本,但没有得到好的结果。
正如您在下面的代码中看到的,我在 gridtemplatecolumn 中有一个 radbutton,它按预期工作。当我处于调试状态时,我得到了 intID 的值,这不是我从组合框中选择一个值后所期望的结果。
这是我所有的代码:
HTML 标记:
<telerik:RadGrid ID="rdg1"
runat="server"
ItemStyle-Wrap="false"
TabIndex="1000"
GridLines="Horizontal"
BorderColor="#738BA4"
BorderWidth="1px"
OnNeedDataSource="ds1"
OnItemDataBound="oidb1"
AutoGenerateColumns="False"
OnItemCommand = "oicommand1"
EnableLinqExpressions="true"
OnItemCreated="oicreated1">
<MasterTableView DataKeyNames="ID"
HorizontalAlign="Center"
HeaderStyle-BorderWidth="0"
ItemStyle-BorderWidth="2"
ItemStyle-BorderColor="#738BA4"
FooterStyle-BorderWidth="0"
BorderWidth="0">
<CommandItemSettings ExportToPdfText="Export to Pdf" />
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="ID"
ItemStyle-Font-Size="8"
UniqueName="ID"
Visible="false">
<HeaderStyle Wrap="False" />
<ItemStyle Font-Size="8pt" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn ItemStyle-Font-Size="8" HeaderText="Level" UniqueName="Level">
<ItemTemplate>
<telerik:RadComboBox ID="rdcb1" runat="server" AutoPostBack="true"></telerik:RadComboBox>
</ItemTemplate>
<HeaderStyle Wrap="False" />
<ItemStyle Font-Size="8pt" Wrap="False" />
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn ItemStyle-Font-Size="8"
DataField="Name"
UniqueName="Name"
Visible="true"
HeaderText="Name">
<HeaderStyle Wrap="False" />
<ItemStyle Font-Size="8pt" Wrap="true" />
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:ImageButton ID="imgbtn" runat="server" ImageUrl="/Images/Delete-Small.PNG" />
</ItemTemplate>
<HeaderStyle Wrap="False" />
<ItemStyle Wrap="False" />
</telerik:GridTemplateColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column">
</EditColumn>
</EditFormSettings>
<ItemStyle BorderColor="#738BA4" BorderWidth="2px" />
<AlternatingItemStyle />
<HeaderStyle BorderWidth="0px" />
<FooterStyle BorderWidth="0px" />
</MasterTableView>
<ItemStyle Wrap="False" />
<FilterMenu EnableImageSprites="False">
</FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
</HeaderContextMenu>
</telerik:RadGrid>
</asp:Panel>
代码隐藏:
protected void ds1(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) {
var Role = (from r in db.Role
select new { r.ID, r.Name });
rdg1.DataSource = Role;
Level = Role.Count();
_dataTableLevel.Clear();
_dataTableLevel.Columns.Add("Level");
for (int i = 1; i <= Level; i++) {
DataRow drLevel = _dataTableLevel.NewRow();
drLevel["Level"] = i;
_dataTableLevel.Rows.Add(drOrderLevel);
}
protected void oidb1(object sender, GridItemEventArgs e) {
if (e.Item is GridDataItem) {
GridDataItem Item1 = (GridDataItem)e.Item;
(Item1.FindControl("rdcb1") as RadComboBox).DataValueField = "Level";
(Item1.FindControl("rdcb1") as RadComboBox).DataTextField = "Level";
(Item1.FindControl("rdcb1") as RadComboBox).DataSource = _dataTableLevel.DefaultView;
(Item1.FindControl("rdcb1") as RadComboBox).DataBind();
}
}
protected void oicommand1(object sender, GridCommandEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem Item2 = (GridDataItem)e.Item;
TableCell ID = Item2["ID"] as TableCell;
int intID = Convert.ToInt32(ID.Text);
var deleteRole = (from r in db.Role
where r.ID == intID).First();
db.Role.DeleteObject(deleteRole);
db.SaveChanges();
rdg1.Rebind();
}
}
protected void oicreated1(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem Item3 = (GridDataItem)e.Item;
TableCell ID = Item3["ID"] as TableCell;
string ID = ID.Text;
}
}
最佳答案
Telerik 的人员提供了以下解决方案。 Telerik 的解决方案有效。
谢谢。
感谢您联系我们。
如果您想在更改特定组合框的选定索引时获取行的 ID,我的建议是订阅服务端 OnSelectedIndexChanged
事件并使用事件处理函数的以下实现:
protected void OnSelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
var combobox = sender as RadComboBox;
GridDataItem dataItem = combobox.Parent.Parent as GridDataItem;
var text = dataItem["ID"].Text;
}
希望对您有所帮助。
亲切的问候,迪米塔尔·泰齐耶夫Telerik 团队
关于telerik - RadGrid 中的 RadComboBox 并获取唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220927/
将 RadGrid 用于 Asp.Net Ajax(来自 Telerik) 我需要重新设置 CurrentPageIndex。 Some examples说下一行代码应该是 myGrid.Rebind
Telerik Rad 控件在浏览器中仅显示为实线。但在 Visual Studio 设计中它显示正确。 There are no records to display
当我单击添加记录按钮时,我希望其中一列具有默认值。我如何在后面的代码中做到这一点?它是一个动态日期并且可以一直更改? 最佳答案 如果该列不是 GridTemplateColumn ,您可以使用列的 D
我正在尝试设置一个切换开关,以便用户可以将对象列表用作待办事项列表。我正在寻找一种用户可以单击一行的方法,并且它将跨度从一个字体图标切换到另一个字体图标。我还希望根本不访问服务器。 目前我有这个 Ja
我有一个使用 OnNeedDataSource 动态加载数据的 Telerik RadGdir。绑定(bind)所有数据后,我想使用 PreRender 事件添加一个页脚行,该行将包含描述网格数据的文
在their documentation Telerik 说有一种方法可以通过使用 AllowSorting 属性来禁用特定列的排序。我在看 Telerik.Web.UI.GridColumn mem
我有一个简单的辐射网格。当我单击“添加记录”时它会弹出一个插入模板,它会以垂直格式显示表单,我想更改它以使其以水平格式显示吗?我该怎么做? protected void Page_Load(objec
我想要 RADGRID 中的复选框。详细要求如下: 我正在使用存储过程中的 AutoGenerateColumns="True"填充所有 radgrid 列。我需要一个额外的复选框列。 在网格加载期间
我在使用 telerik radgrid 控件时遇到问题。当网格处于编辑模式时,我正在尝试使用 javascript 访问文本框。 我的代码如下所示:
我有一些嵌套的 div,其中一个包含需要填充其容器的 Radgrid 控件。 尝试了 100% 高度/宽度。没用。 试过绝对定位。没用。 遵循 Telerik 的建议 here .不。 按照这个pos
我有一个 radgrid asp.net 控件,我在其中编辑服务器端的行。我想在客户端知道用户是否在保存/放弃网格中的更改之前尝试关闭屏幕。 我找到了一些关于如何使用 get_masterTableV
我的 radgrid (RAD13) 有这个手动更新代码。上传时它有效,但问题是只有网格中的第一行保存它的更新。 我认为我应该传递一个自动递增的值来遍历行 protected void UpdateB
我有一个 RadGrid,它有一个像这样的列: /> /> 我想对其进行设置,以便此列在插入新值时允许输入,但在更新值时
我需要在 Telerik RadGrid Row Double Click 上触发客户端事件,并通过单击从服务器获取更新。但是双击事件不起作用。如果我删除“EnablePostBackOnRowCli
我可以根据后面代码中的数据为每列创建不同的控件,并且它可以工作。 我想在代码后面的每一行创建不同的控件。示例: ColumnA ColumnB
我在页面上有一个 RadGrid,当您单击该行时会回发,配置如下: 我试图通过以下方式停止事件的传播来停止回发: function RowClick(sender, e) {
我正在使用 RadGrid 从数据库中检索数据。我的 RadGrid 中有更多列,因此我需要显示 RadGrid 水平滚动以防止页面展开但禁用垂直滚动以便网格的高度应该展开以始终显示网格中的所有行。我
如何将代码中的“DurationType”列设置为下拉菜单? 我已经修改了代码以展示如何创建模板和添加下拉菜单。但我不知道如何获取下拉列表的值,因为它只显示在插入/编辑模板中,而不是常规网格中。 pr
我有一个 RadGrid,其中我想创建的列数未知。其实我知道第一列,它有一个数据字段PermissionName。我有一个 CSLA 数据源,它返回一个 PermissionInfo 对象列表,每个对
我需要在某些列上创建一个包含多个组的网格,我的代码是
我是一名优秀的程序员,十分优秀!