1

これは、列名と列にデータを入力するためのテキスト ボックスを含むテーブルです。

<table border="1">
                <tr>
 <th>EmpId</th>
<th>EmpName</th>
 <th>EmpSalary</th>
 <th>EmpPhone</th>
<th>EmpAddress</th>
 </tr>
 <tr>
<td>
<asp:TextBox ID="TxtEmpId" runat="server" Width="134px" AutoPostBack="true"></asp:TextBox></td>
<td>
<asp:TextBox ID="TxtEmpName" runat="server" Width="121px"></asp:TextBox></td>
<td>
 <asp:TextBox ID="TxtEmpSalary" runat="server" Width="128px"></asp:TextBox></td>
  <td>
<asp:TextBox ID="TxtEmpPhone" runat="server" Width="117px"></asp:TextBox></td>
<td>
  <asp:TextBox ID="TxtEmpAddress" runat="server" Width="120px"></asp:TextBox></td>
</tr>
</table>

これは列のあるグリッドです

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"               DataSourceID="sqlDataSourceGridView" AutoGenerateColumns="False" ShowHeader="false"
CssClass="GridViewStyle" Width="650px" DataKeyNames="EmpId" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4">
 <Columns>
  <asp:BoundField DataField="EmpId" HeaderText="EmpId" ItemStyle-Width="200px" InsertVisible="False" ReadOnly="True" SortExpression="EmpId" >
  <ItemStyle Width="200px" />
 </asp:BoundField>
  <asp:BoundField DataField="EmpName" HeaderText="EmpName" ItemStyle-Width="125px" SortExpression="EmpName" >
  <ItemStyle Width="125px" />
</asp:BoundField>
<asp:BoundField DataField="EmpSalary" HeaderText="EmpSalary" ItemStyle-Width="125px" SortExpression="EmpSalary" >
  <ItemStyle Width="125px" />
</asp:BoundField>
 <asp:BoundField DataField="EmpPhone" HeaderText="EmpPhone" ItemStyle-Width="125px" SortExpression="EmpPhone" >
  <ItemStyle Width="125px" />
</asp:BoundField>
 <asp:BoundField DataField="EmpAddress" HeaderText="EmpAddress" ItemStyle-Width="125px" SortExpression="EmpAddress" >
  <ItemStyle Width="125px" />
 </asp:BoundField>
 </Columns>
 <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
 <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
 <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
<RowStyle BackColor="White" ForeColor="#330099" />
 <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
 <SortedAscendingCellStyle BackColor="#FEFCEB" />
<SortedAscendingHeaderStyle BackColor="#AF0101" />
 <SortedDescendingCellStyle BackColor="#F6F0C0" />
  <SortedDescendingHeaderStyle BackColor="#7E0000" />
 </asp:GridView>

ConvertEmptystringToNull=false入力文字列が正しい形式ではないため、エラーを表示するように設定した場合、testingdb データとフィルター パラメーターを含む sqldatasourc が機能していますが、それを使用ConvertEmptyStringToNull="True"する と、ブラウザーで gridview にデータが取り込まれます。

  <asp:SqlDataSource ID="sqlDataSourceGridView" runat="server" ConnectionString="<%$ ConnectionStrings:TestingDBConnectionString %>" SelectCommand="SELECT * FROM [Employees]"
                FilterExpression="[EmpName] like '{1}%' and [EmpSalary] like '{2}%' and [EmpPhone] like '{3}%' [EmpAddress] like '{4}%'"  >
 <FilterParameters>
  <asp:ControlParameter ControlID="TxtEmpId" Name="EmpId" DefaultValue="" 
   PropertyName="Text" Type="Int32" ConvertEmptyStringToNull="true" />
 <asp:ControlParameter ControlID="TxtEmpName" Name="EmpName" DefaultValue="" 
 PropertyName="Text" Type="String" ConvertEmptyStringToNull="true" />
 <asp:ControlParameter ControlID="TxtEmpSalary" Name="EmpSalary" DefaultValue=""
 PropertyName="Text" Type="Decimal" ConvertEmptyStringToNull="true" />
 <asp:ControlParameter ControlID="TxtEmpPhone" Name="EmpPhone" DefaultValue=""
    PropertyName="Text" Type="Int64" ConvertEmptyStringToNull="true" />
 <asp:ControlParameter ControlID="TxtEmpAddress" Name="EmpAddress" DefaultValue="" 
  PropertyName="Text" Type="String" ConvertEmptyStringToNull="true" />
 </FilterParameters>
</asp:SqlDataSource>

上記のコードデータを使用すると、テキストボックスにテキストを入力しているときに、テーブルテキストボックスを使用してグリッドビューにバインドされますグリッドビューデータはフィルター処理されません。テキストボックスにデータを入力してグリッドビューをフィルタリングしたい。私の問題を解決してください

4

2 に答える 2

1

コントロール パラメータを使用して、テキスト フィールドを制御します。簡単な例:

クエリ

Select * from tbl_1 WHERE (([Titel] LIKE '%' + @Titel + '%')

制御不能

 <asp:ControlParameter ControlID="txtTitel" DefaultValue="*" Name="Titel" 
        PropertyName="Text" Type="String" ConvertEmptyStringToNull="False" />
于 2013-05-07T10:11:32.210 に答える
0

AutopostBack on Filter = Trueレコードをフィルタするためのプロパティを設定します。これを試して.......

于 2013-05-07T10:10:25.990 に答える