2016-06-28 6 views
1

Я хочу создать предложение where, чтобы я мог получить значения из базы данных в gridview с определенным идентификатором, который я сохранил в ViewState при загрузке страницы. Если пункт отмечен в звездах в кодеКак я могу использовать предложение WHERE в элементе управления GridView?

<asp:GridView ID="gvView" runat="server" AutoGenerateColumns="false" DataKeyNames="ID" 
       DataSourceID="SqlDataSource" AllowPaging="true" PageSize="50" Width="100%" 
       EmptyDataText="--- No records yet. ---" PagerStyle-HorizontalAlign="Center" PagerSettings-PageButtonCount="5" 
       EmptyDataRowStyle-ForeColor="#888581" EmptyDataRowStyle-Font-Size="14px" EmptyDataRowStyle-Height="30px" 
       EmptyDataRowStyle-Font-Italic="true" AlternatingRowStyle-BackColor="#E2E2E2" 
       PagerStyle-CssClass="pager"> 
       <Columns> 
        <asp:TemplateField HeaderText="Select"> 
         <ItemTemplate> 
          <asp:CheckBox ID="RowSelector" runat="server" /> 
         </ItemTemplate> 
        </asp:TemplateField> 
        <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" Visible="false" /> 
        <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> 


       </Columns> 
      </asp:GridView> 
      <asp:SqlDataSource ID="SqlDataSource" runat="server" 
       ProviderName="System.Data.SqlClient" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
       SelectCommand="SELECT ID, Title FROM Table **WHERE [email protected]** ORDER BY ID"> 
      </asp:SqlDataSource> 

ответ

0

Вы можете назвать эту Methord, чтобы связать ваш GridView

protected void BindGridview(int anotherid) 
{ 
    DataSet ds = new DataSet(); 
    using (SqlConnection con = new SqlConnection("Data Source=source;Integrated Security=true;Initial Catalog=MySampleDB")) 
    { 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("SELECT ID, Title FROM Table WHERE AnotherID='"+anotherid+"' ORDER BY ID", con); 
     SqlDataAdapter da*emphasized text* = new SqlDataAdapter(cmd); 
     da.Fill(ds); 
     con.Close(); 
     gvView.DataSource = ds; 
     gvView.DataBind(); 
} 

, если вы хотите связать с SqlDataSource

SqlDataSource SqlDataSource = new SqlDataSource(); 
    SqlDataSource.ID = "SqlDataSource"; 
    this.Page.Controls.Add(SqlDataSource1); 
    SqlDataSource.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString; 
    SqlDataSource.SelectCommand = "SELECT ID, Title FROM Table WHERE AnotherID='"+anotherid+"' ORDER BY ID"; 
    gvView.DataSource = SqlDataSource; 
    gvView.DataBind(); 
+0

Спасибо за вашу помощь ... Используется этот способ разобраться мою проблему .. –

0
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT ID, Title FROM Table WHERE WHERE [AnotherID] = '" + @anotherid + "' ORDER BY ID "> 
     <SelectParameters> 
      <asp:Parameter DefaultValue='<%# ViewState("ViewStateID") %>' Name="anotherid" Type="Int32" /> 
     </SelectParameters> 
</asp:SqlDataSource> 
  1. Создать параметр из ViewState
  2. Включить имя параметра с помощью «@» + paramterName в команде выбора.
+0

Спасибо за вашу помощь .. :-) Есть мое решение, попробовав процедуру, отправленный Midhun –

+0

Если это ваше решение вы можете отметить это как принятый ответ. Спасибо. – Tuks