Update: here is how you display confirmation message and collect user input when a button is clicked.
Then collect the selected checkbox Id from the code behind.
Note that you need to assign PrimaryKey/UniqueKey to DataKeyName of RadGrid.
<asp:ScriptManager runat="server" ID="ScriptManager"></asp:ScriptManager>
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false"
Width="400" GridLines="None" OnNeedDataSource="RadGrid1_NeedDataSource">
<MasterTableView DataKeyNames="Id">
<Columns>
<telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" />
<telerik:GridBoundColumn DataField="MiddelName" HeaderText="Middle Name" />
<telerik:GridBoundColumn DataField="LastName" HeaderText="Last Name" />
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:CheckBox ID="SelectCheckBox" runat="server" />
</ItemTemplate>
<HeaderTemplate>
<asp:Button ID="Button4" runat="server" Text="Remove"
OnClientClick="return showWindow();" />
</HeaderTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
<telerik:RadWindow ID="RadWindow1" runat="server" Width="400" Height="200">
<ContentTemplate>
Enter a reason to delete:<br />
<asp:TextBox runat="server" ID="ReasonTextBox" TextMode="MultiLine" Rows="5"
Width="350" /><br />
<asp:Button runat="server" ID="DeleteButton" Text="Delete"
OnClick="DeleteButton_Click" />
</ContentTemplate>
</telerik:RadWindow>
<script type="text/javascript">
function showWindow() {
var wnd = $find("<%=RadWindow1.ClientID %>");
wnd.show();
return false;
}
</script>
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string MiddelName { get; set; }
public string LastName { get; set; }
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = new List<User>()
{
new User {Id = 1, FirstName = "Jon", LastName = "Doe"},
new User {Id = 2, FirstName = "Eric", LastName = "Newton"},
new User {Id = 3, FirstName = "One", LastName = "Two"},
};
}
protected void DeleteButton_Click(object sender, EventArgs e)
{
var ids = new List<int>();
foreach (GridDataItem item in RadGrid1.Items)
{
var selectCheckBox = item.FindControl("SelectCheckBox") as CheckBox;
if (selectCheckBox.Checked)
{
int id = Convert.ToInt32(item.GetDataKeyValue("Id"));
ids.Add(id);
}
}
}