|
Requirements |
|
|
RadControls version
WeUIVSExtensions 2013.1.222.0 |
|
| .NET version | |
| Visual Studio version 2012 | |
| programming language VB |
|
| browser support |
all browsers supported by RadControls |
Story:
I'm trying to do some filtering with JavaScript I'have a grid and in this grid I want to filter some values using Combo Boxes . So far the values are displayed in the Combo Boxes etc.. and it is already working for one .
Question:
My problem is don't get it why is it not working for my second example.. I always get this strange error
The argument types 'Edm.Int32' and 'Edm.String' are incompatible for this operation. Near equals expression, line 6, column 19.
This example works fine
<telerik:GridTemplateColumn DataField="ActivityId" FilterControlAltText="Filter ActivityId column"
HeaderText="Activity" SortExpression="ActivityId" UniqueName="ActivityId">
<ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("Activity.FullActivity") %>' />
</ItemTemplate>
<FilterTemplate>
<telerik:RadComboBox runat="server" DataSourceID="dsActivity" DataTextField="FullActivity" DataValueField="ActivityId"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("ActivityId").CurrentFilterValue %>'
Height="200px" AppendDataBoundItems="true" OnClientSelectedIndexChanged="TitleIndexChanged">
<Items>
<telerik:RadComboBoxItem Value="0" Text="- All -" />
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="rsbActivity" runat="server">
<script type="text/javascript">
function TitleIndexChanged(sender, args) {
//alert(args.get_item().get_value());
if (args.get_item().get_value() > 0) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("ActivityId", args.get_item().get_value(), "EqualTo");
} else {
tableView.filter("ActivityId");
}
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridTemplateColumn>
And in this one its not working ...
<telerik:GridTemplateColumn DataField="Dossier.LBUId" HeaderText="LBU" FilterControlAltText="Filter Dossier.LBUId column"
SortExpression="LBUId" UniqueName="LBUId">
<ItemTemplate>
<asp:Literal ID="Literal3" runat="server" Text='<%# Eval("Dossier.LBU.Code") %>' />
</ItemTemplate>
<FilterTemplate>
<telerik:RadComboBox ID="RadComboBox1" runat="server" DataSourceID="dsLBU" DataTextField="Code" DataValueField="LBUId"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("LBUId").CurrentFilterValue %>'
Height="200px" AppendDataBoundItems="true" OnClientSelectedIndexChanged="ChangeLbuCode">
<Items>
<telerik:RadComboBoxItem Value="0" Text="- All -" />
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="ChangeLbuCode" runat="server">
<script type="text/javascript">
function ChangeLbuCode(sender, args) {
if (args.get_item().get_value() > 0) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("LBUId", args.get_item().get_value(), "EqualTo");
} else {
tableView.filter("LBUId");
}
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridTemplateColumn>
Thanks for help and fast answer !!
protected void gvEdit_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridEditableItem && e.Item.IsInEditMode) { DropDownList list1 = (e.Item as GridEditableItem)["GridDropDownColumn999111"].Controls[0] as DropDownList; list1.AutoPostBack = true; list1.SelectedIndexChanged += new System.EventHandler(this.list1_SelectedIndexChanged); DropDownList list2 = (e.Item as GridEditableItem)["GridDropDownColumn9992"].Controls[0] as DropDownList; list2.AutoPostBack = true; list2.SelectedIndexChanged += new System.EventHandler(this.list2_SelectedIndexChanged); DropDownList list3 = (e.Item as GridEditableItem)["GridDropDownColumn9993"].Controls[0] as DropDownList; list3.AutoPostBack = true; list3.SelectedIndexChanged += new System.EventHandler(this.list3_SelectedIndexChanged); } }protected void list1_SelectedIndexChanged(object sender, System.EventArgs e) { String x = "System 1, System 2, and System 3 must have different values"; DisplayMessage(y); } protected void list2_SelectedIndexChanged(object sender, System.EventArgs e) { String x = "System 1, System 2, and System 3 must have different values"; DisplayMessage(x); } protected void list3_SelectedIndexChanged(object sender, System.EventArgs e) { String x = "System 1, System 2, and System 3 must have different values"; DisplayMessage(x); }
I've implemented the grid google like filtering just find. does what I need. However, I need to add a checkbox column to allow the user to select which rows they want to save.
Once I include any type of MasterTableView with <column> the needdatasource overrides my column. How can I add a custom column (checkbox) to the demo code at:
http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandcombo/defaultcs.aspx?product=grid#qsf-demo-source
<telerik:RadGrid ID="RadGrid1" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" AllowFilteringByColumn="True" Width="560px" runat="server" OnColumnCreating="RadGrid1_ColumnCreating" OnItemCommand="RadGrid1_ItemCommand" OnNeedDataSource="RadGrid1_NeedDataSource" CellSpacing="0" GridLines="None">
<MasterTableView>
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridCheckBoxColumn DataType="System.Boolean" FilterControlAltText="Filter Allow" HeaderText="Allow" UniqueName="Allow">
</telerik:GridCheckBoxColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
<PagerStyle PageSizeControlType="RadComboBox"></PagerStyle>
</MasterTableView>
