У меня есть сетка, когда я пытаюсь добавить новый столбец со значком выбора, с помощью которого я хочу выбрать всю строку.
Вот мой файл разметки .aspx, в который я добавил новый столбец содержащий UniqueName = "uc_select"
<telerik:RadGrid ID="contractRadGrid" runat="server" AllowPaging="True"
AllowSorting="True" CellSpacing="0" GridLines="None" PageSize="15"
OnNeedDataSource="contractRadGrid_NeedDataSource" OnItemCommand="contractRadGrid_ItemCommand"
OnDeleteCommand="contractRadGrid_DeleteCommand" OnInsertCommand="contractRadGrid_InsertCommand"
OnUpdateCommand="contractRadGrid_UpdateCommand" OnItemDataBound="contractRadGrid_ItemDataBound">
<MasterTableView CommandItemDisplay="Top" AutoGenerateColumns="false" InsertItemPageIndexAction="ShowItemOnCurrentPage"
DataKeyNames="ID,InstituteID,PositionID" AllowSorting="false" Name="Test">
<CommandItemSettings ExportToPdfText="Export to PDF" AddNewRecordText="Add Contract"
AddNewRecordImageUrl="../images/plus2.png" />
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True">
</ExpandCollapseColumn>
<Columns>
<%--new column added--%>
<telerik:GridTemplateColumn AllowFiltering="false" UniqueName="uc_select">
<ItemStyle CssClass="MyClass" />
<HeaderStyle CssClass="MyClass" />
<ItemTemplate>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="InstituteName" HeaderText="Institution Name" UniqueName="InstituteName" ItemStyle-CssClass="breakWord">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PositionName" HeaderText="Position" UniqueName="PositionName" ItemStyle-CssClass="breakWord">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="BillRate" HeaderText="Bill Rate" UniqueName="BillRate" ItemStyle-CssClass="breakWord">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PayRate" HeaderText="Pay Rate" UniqueName="PayRate" ItemStyle-CssClass="breakWord">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="EffectiveDate" HeaderText="Effective Date" UniqueName="EffectiveDate"
DataType="System.DateTime" DataFormatString="{0:MM-dd-yyyy}" ReadOnly="true">
</telerik:GridBoundColumn>
<telerik:GridEditCommandColumn ButtonType="LinkButton" HeaderText="Edit" />
<telerik:GridButtonColumn ButtonType="LinkButton" CommandName="Delete" ConfirmDialogHeight="100px" HeaderText="Delete"
ConfirmDialogType="Classic" ConfirmDialogWidth="330px" ConfirmText="Delete this contract?"
ConfirmTitle="Delete" Text="Delete">
</telerik:GridButtonColumn>
</Columns>
и более поздних версий в файле cs этой страницы событие contractRadGrid_ItemDataBound, я пытаюсь показать свою кнопку выбора, как показано ниже
protected void contractRadGrid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "Test")
{
GridDataItem item = (GridDataItem)e.Item;
if (item != null)
{
string selectImage = "background:url('images/select_sm_wh.png') no-repeat center ;";
item["uc_select"].Attributes.Add("style", selectImage);
}
}
//GridDataItem item = (GridDataItem)e.Item;
//if (item != null)
//{
// string selectImage = "background:url('images/select_sm_wh.png') no-repeat center ;";
// item["uc_select"].Attributes.Add("style", selectImage);
//}
if (e.Item != null && e.Item is GridEditableItem && e.Item.IsInEditMode && e.Item.ItemIndex > -1)
{
GridEditableItem gridEditableItem = (GridEditableItem)e.Item;
RadComboBox instituteName = gridEditableItem.FindControl("instituteName") as RadComboBox;
instituteName.SelectedValue = ((DataRowView)e.Item.DataItem).Row["InstituteID"].ToString();
instituteName.Text = ((DataRowView)e.Item.DataItem).Row["InstituteName"].ToString();
RadComboBox ddlJobTitle = gridEditableItem.FindControl("ddlJobTitle") as RadComboBox;
ddlJobTitle.SelectedValue = ((DataRowView)e.Item.DataItem).Row["PositionID"].ToString();
}
}
Проблема в том, что отображается кнопка выбора в первом столбце, но когда я нажимаю кнопку выбора, выделяется не вся строка.
Так что я здесь делаю не так? А что нужно изменить?