2015-02-17 2 views
0

Я заполняю базу данных из процедуры хранения, но она не работает, даже отладчик не попадает. В чем проблема, почему она пуста? Я пробовал несколько раз с nd без отладки, но он не работает.Почему gridview пуст и не загружается из базы данных?

protected void GridViewConductorsDevices_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     try 
     { 
      DataTable ConductorDevicesInfo = new DataTable(); 

      int ID = Convert.ToInt32(GridViewConductorsDevices.DataKeys[Convert.ToInt32(e.CommandArgument)].Value); 
      ViewState["ID"] = ID; 
      ConductorDevicesInfo = (DataTable)ManageTransport.ManageConductorDevices.GetAssignedDevices(); 
      this.TextBoxID.Text = GridViewConductorsDevices.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString(); 
      this.DropDownListConductors.SelectedValue= ConductorDevicesInfo.Rows[0]["Conductor_ID"].ToString(); 
      this.DropDownListDevices.SelectedValue = ConductorDevicesInfo.Rows[0]["Device_ID"].ToString(); 

      MultiView1.ActiveViewIndex = -1; 
      MultiView1.ActiveViewIndex = 2; 
     } 
     catch (Exception) 
     { 

     } 
     finally 
     { 
     } 
    } 

.aspx

<asp:GridView ID="GridViewConductorsDevices" runat="server" AutoGenerateColumns="False" CaptionAlign="Top" 
           CssClass="table table-hover table-striped table-bordered" DataKeyNames="ID" OnRowCommand="GridViewConductorsDevices_RowCommand" 
           Width="100%"> 
           <Columns> 
            <asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField> 
            <asp:BoundField DataField="Conductor_ID" Visible="false" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField> 
            <asp:BoundField DataField="Device_ID" Visible="false" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField> 
            <asp:BoundField DataField="Conductor" HeaderText="Conductor" 
             ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField> 
            <asp:BoundField DataField="Terminal" HeaderText="Terminal" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField> 
            <%-- <asp:BoundField DataField="TotalDistance" HeaderText="Total Distance" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField>--%> 
            <%-- <asp:BoundField DataField="Model" HeaderText="Model" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField>--%> 
            <%--<asp:BoundField DataField="ChassisNo" HeaderText="Chassis No" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField>--%> 
            <%--<asp:BoundField DataField="EngineNo" HeaderText="EngineNo" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"> 
             <HeaderStyle HorizontalAlign="Left" /> 
            </asp:BoundField>--%> 
            <asp:ButtonField Text="Edit" HeaderText="Option" ItemStyle-CssClass="visible-desktop" 
             HeaderStyle-CssClass="visible-desktop"></asp:ButtonField> 
           </Columns> 
          </asp:GridView> 
+2

Выше кода не включает привязку данных. Как вы привязываете данные к GridView? – Win

ответ

0

Ваш Gridview, <asp:GridView ID="GridViewConductorsDevices" runat="server" > необходим источник данных.

Вы упомянули хранимую процедуру, но на ваш код не ссылаются.

Для привязки данных к Gridview вам необходимо либо назначить одну свойству GridView DataSource в код с последующим вызовом GridViewConductorsDevices.DataBind()

В качестве альтернативы вы можете предоставить идентификатор элемента управления DataSource к свойству Gridview DataSourceID который автоматически связывается во время жизненного цикла страницы.

Однако в любом случае, событие GridViewConductorsDevices_RowCommand никогда не будет вызвана, как вы не определили CommandField, чтобы вызвать событие строки.

Смежные вопросы