public class CustomFilteredGridTemplateColumn : GridTemplateColumn
{
public override GridColumn Clone()
{
return base.Clone();
}
protected override void SetupFilterControls(System.Web.UI.WebControls.TableCell cell)
{
base.SetupFilterControls(cell);
cell.Controls.RemoveAt(0);
cell.Controls.AddAt(0,
new TextBox());
}
public override bool SupportsFiltering()
{
return true;
}
protected override string GetFilterDataField()
{
return this.DataField;
}
protected override void SetCurrentFilterValueToControl(TableCell cell)
{
base.SetCurrentFilterValueToControl(cell);
(cell.Controls[0]
as TextBox).Text = this.CurrentFilterValue;
}
protected override string GetCurrentFilterValueFromControl(TableCell cell)
{
return (cell.Controls[0] as TextBox).Text;
}
}
<telerik:RadGrid ID="ShipmentHistoryGrid" runat="server" Skin="Web20" OnNeedDataSource="OnShipmentHistoryGridNeedDataSource" |
ShowStatusBar="True" AutoGenerateColumns="False" GridLines="None" OnItemDataBound="OnItemDataBound" |
AllowFilteringByColumn="true" AllowSorting="true"> |
<PagerStyle Mode="NextPrevAndNumeric" /> |
<MasterTableView DataKeyNames="PackageID" CommandItemDisplay="None" TableLayout="Fixed"> |
<Columns> |
<telerik:GridDateTimeColumn FilterControlWidth="90px" DataField="ShippingDate" UniqueName="Date" |
HeaderText="Ship Date" DataFormatString="{0:d}" AutoPostBackOnFilter="true" ShowFilterIcon="false"> |
<HeaderStyle Width="95px" /> |
</telerik:GridDateTimeColumn> |
<telerik:GridBoundColumn DataField="Pin" UniqueName="Pin" HeaderText="Pin" AutoPostBackOnFilter="true" |
CurrentFilterFunction="Contains" ShowFilterIcon="false" > |
<HeaderStyle Width="100px" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="ShortService" UniqueName="ServiceType" HeaderText="Service" |
AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false"> |
<HeaderStyle Width="120px" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="Contact" UniqueName="Contact" HeaderText="Name" |
AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false"> |
<HeaderStyle Width="100px" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="City" UniqueName="City" HeaderText="City" AutoPostBackOnFilter="true" |
CurrentFilterFunction="Contains" ShowFilterIcon="false"> |
<HeaderStyle Width="100px" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn FilterControlWidth="30px" DataField="Province" UniqueName="Province" HeaderText="Province" |
AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false"> |
<HeaderStyle Width="60px" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="PostalCode" UniqueName="PostalCode" HeaderText="Postal Code" |
AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false"> |
<HeaderStyle Width="95px" /> |
</telerik:GridBoundColumn> |
<telerik:GridCheckBoxColumn DataField="IsVoid" UniqueName="IsVoid" Visible="false"> |
</telerik:GridCheckBoxColumn> |
<telerik:GridTemplateColumn UniqueName="VoidColumn" AllowFiltering="false" HeaderText="Void"> |
<ItemTemplate> |
<asp:Button ID="btnVoid" runat="server" OnClick="OnClickVoid" Text="Void" /> |
<asp:Label ID="VoidLabel" runat="server" Text="Package Voided"></asp:Label> |
</ItemTemplate> |
<ItemStyle HorizontalAlign="Center"/> |
<HeaderStyle HorizontalAlign="Center" /> |
</telerik:GridTemplateColumn> |
</Columns> |
</MasterTableView> |
<ClientSettings> |
<Scrolling AllowScroll="true" UseStaticHeaders="true" /> |
</ClientSettings> |
</telerik:RadGrid> |
private
void
Page_PreRender(
object
sender, EventArgs e)
{
//this is the only way i know how to check what mode this grid control is operating in.
bool
isGridInsertion = Object.ReferenceEquals(
this
.DataItem.GetType(),
new
GridInsertionObject(
new
ArrayList()).GetType() );
if
(isGridInsertion !=
true
)
//we check this because the below int assignment breaks on a grid insertion (since ProductTypeID has no value during our Insert form, only populated on Edit)
{
int
productTypeID = (
int
)DataBinder.Eval(
this
.DataItem,
"ProductTypeID"
);
// do stuff
}
}
Hello,
if (e.CommandName == "viewQuals")
{
GridDataItem dataItem = (GridDataItem)e.Item;
int id = int.Parse(dataItem["EIDColumn"].Text);
ImageButton updateButton = dataItem["viewQualsColumn"].Controls[0] as ImageButton;
updateButton.OnClientClick = "return viewQualsClick(" + id + ")";
}
function viewQualsClick(id) {
window.open("RES_MQ_new.aspx?empid=" + id, "", "width=550,height=700,resizable=yes,scrollbars=yes");
}
function ajaxRefresh() {
var ram = $find("<%= RadAjaxManager.ClientID %>");
ram.ajaxRequest("foo");
}