C# ASP.NET数据源参数出现问题
我有一个C# ASP.NET数据源参数出现问题,c#,asp.net,gridview,c#-4.0,C#,Asp.net,Gridview,C# 4.0,我有一个GridView,我想向数据源添加更多的参数。其中一个参数称为符号,是一个数据表,我不知道如何添加它。这是我的GridView: <asp:GridView ID="grdTrades" runat="server" DataKeyNames="tradeId" DataSource="srcTrades" EnablePersistedSelection="true" AllowPaging="tru
GridView
,我想向数据源添加更多的参数。其中一个参数称为符号
,是一个数据表
,我不知道如何添加它。这是我的GridView
:
<asp:GridView
ID="grdTrades"
runat="server"
DataKeyNames="tradeId"
DataSource="srcTrades"
EnablePersistedSelection="true"
AllowPaging="true"
AllowSorting="true"
PageSize = "10"
AutoGenerateColumns="false"
>
<Columns>
<asp:BoundField DataField="tradeId" HeaderText="TradeId" SortExpression="tradeId" />
... some more columns ...
</Columns>
</asp:GridView>
我自己也尝试过绑定数据,并完全删除了ObjectDataSource
,但是排序和分页事件没有得到处理。你将如何解决这个小问题
谢谢 您可以使用xml类型(和一个简单的字符串SelectParameter)代替DataTable:并分配 将文本输入SelectParameter
XElement x=新的XElement(“根”,
从类型()的_listbox.Items.i中的i开始
其中i.选择
选择新元素(“行”,即值));
字符串s=x.ToString();
谢谢-您能提供一个在加载页面中用XML填充SelectParameter的示例吗?谢谢,但如何将其指定为SelectParameter?
<asp:ObjectDataSource
id="srcTrades"
TypeName="DatabaseComponent.DBUtil"
SelectMethod="GetTrades"
DeleteMethod="DeleteTrade"
runat="server">
<SelectParameters>
<asp:ControlParameter Name="tradeTypeId" ControlID="ddlTradeTypes" PropertyName="SelectedValue" />
<asp:ControlParameter Name="dateFrom" ControlID="txtDateFrom" PropertyName="Text" />
<asp:ControlParameter Name="dateTo" ControlID="txtDateTo" PropertyName="Text" />
</SelectParameters>
<DeleteParameters>
<asp:ControlParameter Name="tradeId" ControlId="grdTrades" PropertyName="SelectedValue" />
</DeleteParameters>
</asp:ObjectDataSource>
private DataTable GetSelectedItems(string column, ListBox _listbox)
{
DataTable items = new DataTable();
items.Columns.Add(column, System.Type.GetType("System.String"));
foreach (ListItem item in _listbox.Items)
{
if (item.Selected)
{
DataRow dr = items.NewRow();
dr[column] = item.Value;
items.Rows.Add(dr);
}
}
return items;
}
XElement x = new XElement("root",
from i in _listbox.Items.OfType<ListItem>()
where i.Selected
select new XElement("row", i.Value));
string s = x.ToString();