2011-03-17 10 views
5

मेरे पास पूर्व परिभाषित कॉलम और एक चयन कमांड के साथ ग्रिडव्यू है। मुझे कॉलम दो बार क्यों मिलता है? मैं पूर्वनिर्धारित कॉलम और selectcommand रखना चाहता हूं, लेकिन कॉलम को डबल से बचने से बचें।डबल कॉलम से कैसे बचें (पूर्वनिर्धारित कॉलम + selectcommand)?

<asp:GridView ID="gvMeldingen" runat="server" 
      AllowSorting="True" DataSourceID="MyDataSource" 
      onselectedindexchanged="GridView_SelectedIndexChanged" 
      AutoGenerateSelectButton="True"> 
      <Columns> 
       <asp:BoundField DataField="Melder" HeaderText="Melder" /> 
       <asp:BoundField DataField="Onderwerp" HeaderText="Onderwerp" /> 
       <asp:TemplateField HeaderText="Omschrijving"> 
        <ItemTemplate> 
         <div style="overflow:auto; width: 500px; height: 150px;"> 
          <asp:Label ID="lblOmschrijving" runat="server" Text='<%# Bind("Omschrijving")%>'></asp:Label> 
         </div> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:BoundField DataField="Fasedatum" HeaderText="Fasedatum" /> 
       <asp:BoundField DataField="Niveau 1" HeaderText="Niveau 1" /> 
       <asp:BoundField DataField="Niveau 2" HeaderText="Niveau 2" /> 
       <asp:BoundField DataField="Outlook_ID" HeaderText="OutlookID" /> 
      </Columns> 
     </asp:GridView> 
     <asp:SqlDataSource ID="MyDataSource" runat="server" 
      ConnectionString="<%$ ConnectionStrings:HELPDESK_OUTLOOKConnectionString3 %>" /> 

इस कोड को दिखाता है कि कैसे मैं selectcommand का उपयोग करें:

protected void MenuTabs1_MenuItemClick(object sender, MenuEventArgs e) 
    { 
     string select = @"SELECT 
     aanvrager.werknemersnaam AS Melder, 
     hd_aanvragen.aanvraag_titel AS Onderwerp, 
     hd_aanvragen.aanvraag_omschrijving AS Omschrijving, 
     hd_aanvraag_fase.fase_datum AS Fasedatum, 
     hd_melding_niveau_1.niveau_omschrijving AS 'Niveau 1', 
     hd_melding_niveau_2.niveau_omschrijving AS 'Niveau 2', 
     hd_aanvragen.outlook_id 
     FROM hd_aanvragen 
     INNER JOIN hd_meldingen   ON hd_meldingen.melding_id  = hd_aanvragen.melding_id 
     INNER JOIN hd_melding_niveau_1 ON hd_melding_niveau_1.niveau1_id = hd_meldingen.niveau1_id 
     INNER JOIN hd_melding_niveau_2 ON hd_melding_niveau_2.niveau2_id = hd_meldingen.niveau2_id 
     INNER JOIN hd_aanvraag_fase  ON hd_aanvraag_fase.aanvraag_id = hd_aanvragen.aanvraag_id 
     INNER JOIN hd_statussen ON hd_statussen.status_id = hd_aanvraag_fase.status_id 
     INNER JOIN hd_werknemers AS oplosser ON oplosser.werknemer_Id = hd_aanvraag_fase.werknemer_Id 
     INNER JOIN hd_werknemers AS aanvrager ON aanvrager.werknemer_Id = hd_aanvragen.werknemer_Id 
     WHERE hd_statussen.status_id = "; 

     int index = Int32.Parse(e.Item.Value); 
     multiTabs1.ActiveViewIndex = index; 
     int status = 0; 
     if (index == 1) 
      status = 2; 
     else if (index == 2) 
      status = 16; 
     else if (index == 3) 
      status = 17; 
     else if (index == 4) 
      status = 4; 
     MyDataSource.SelectCommand = select + status; 
    } 
+2

"AutoGenerateColumns = False" –

+0

जोड़ने का प्रयास करें, यह है कि आपको इसे उत्तर के रूप में पोस्ट करना होगा: p – SamekaTV

उत्तर

9

आप के साथ मूल्य "गलत" अपने GridView को AutoGenerateColumns संपत्ति जोड़ने के लिए। इससे ग्रिड व्यू को पता चलेगा कि बाइंड प्रक्रिया के दौरान कोई कॉलम स्वचालित रूप से उत्पन्न नहीं होना चाहिए।

गुड लक! :)

संबंधित मुद्दे