Avatar billede irsild Nybegynder
14. april 2004 - 15:54 Der er 18 kommentarer og
1 løsning

dropdownbox i et datagrid

Hej. kan man indsætte dropdownbox i datagrid, så celler i en colnonne er dropdownboxe?

<asp:DataGrid id="Grid" runat="server" AutoGenerateColumns="False" CellPadding="3" BorderWidth="1px" GridLines="Vertical" cssClass="Grid">
                    <FooterStyle cssclass="GridFooter"></FooterStyle>
                    <HeaderStyle cssclass="GridHeader"></HeaderStyle>
                    <PagerStyle horizontalalign="Center" cssclass="GridPage" mode="NumericPages"></PagerStyle>
                    <SelectedItemStyle cssclass="GridSelectedItem"></SelectedItemStyle>
                    <AlternatingItemStyle cssclass="GridAlternateSelected"></AlternatingItemStyle>
                    <ItemStyle cssclass="GridItem"></ItemStyle>
                    <Columns>
                        <asp:BoundColumn DataField="Type" HeaderText="Rumtype"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Number" HeaderText="Antal"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Date1" HeaderText="Ankomst dato"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Time1" HeaderText="Ankomst tid"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Day" HeaderText="Dage"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Date2" HeaderText="Afrejse dato"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Time2" HeaderText="Afrejse tid"></asp:BoundColumn>
                        <asp:BoundColumn DataField="Adult" HeaderText="Voksne"></asp:BoundColumn>                   

<asp:BoundColumn DataField="DropdownBox" HeaderText="Produkt"></asp:BoundColumn>// Dette skal være en dropdownbox

                    </Columns>
                </asp:DataGrid>
Avatar billede irsild Nybegynder
14. april 2004 - 16:05 #1
Dataset/datatable kan jo nok ikke indeholde en dropdown, men er der en måde at vise det i Datagrid?
Avatar billede repsak Nybegynder
14. april 2004 - 19:16 #2
lur mig on du ikke kan finde hjælp her: http://www.datagridgirl.com/articles.aspx
Avatar billede jakobg Nybegynder
14. april 2004 - 23:04 #3
Du skal oprette en templatecolumn med din dropdown. Når du databind'er datagrid'et skal du fange DataBound-event'en for at angive hvilken værdi der er valgt i dropdownboxen.
Jeg kan lave et eksempel, hvis det har interesse?
Avatar billede irsild Nybegynder
15. april 2004 - 09:11 #4
Ja tak, gerne et eksemple. Det ville være fint.
Avatar billede irsild Nybegynder
15. april 2004 - 12:05 #5
Nu har jeg så dette. Hvordan fylder jeg tekst i dropdownlisten?

<asp:DataGrid id="BookingGrid" runat="server" AutoGenerateColumns="False" CellPadding="3" BorderWidth="1px" GridLines="Vertical" cssClass="Grid">
            <FooterStyle cssclass="GridFooter"></FooterStyle>
            <HeaderStyle cssclass="GridHeader"></HeaderStyle>
            <PagerStyle horizontalalign="Center" cssclass="GridPage" mode="NumericPages"></PagerStyle>
            <SelectedItemStyle cssclass="GridSelectedItem"></SelectedItemStyle>
            <AlternatingItemStyle cssclass="GridAlternateSelected"></AlternatingItemStyle>
            <ItemStyle cssclass="GridItem"></ItemStyle>
            <Columns>
                <asp:BoundColumn DataField="Type" HeaderText="Rumtype"></asp:BoundColumn>
                <asp:BoundColumn DataField="Number" HeaderText="Antal"></asp:BoundColumn>
                <asp:BoundColumn DataField="Date1" HeaderText="Ankomst dato"></asp:BoundColumn>
                <asp:BoundColumn DataField="Time1" HeaderText="Ankomst tid"></asp:BoundColumn>
                <asp:BoundColumn DataField="Day" HeaderText="Dage"></asp:BoundColumn>
                <asp:BoundColumn DataField="Date2" HeaderText="Afrejse dato"></asp:BoundColumn>
                <asp:TemplateColumn HeaderText="Product">
                    <ItemTemplate>
                        <asp:DropDownList id="Product2" runat="server" AUTOPOSTBACK="True" OnSelectedIndexChanged="product_SelectedIndexChanged"></asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateColumn>             
        </asp:DataGrid>
Avatar billede jakobg Nybegynder
15. april 2004 - 21:30 #6
Okay, hvad siger du til det her?

Det spændende ligger i DataGrid1_ItemDataBound, hvor jeg samler dropdownboxen op, smider data i den, og sætter den valgte værdi. Det burde ikke være svært at erstatte datakilden til dropdownboxen.

Håber det giver mening... :)


webform1.aspx:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="Eksperten.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundColumn DataField="ID"></asp:BoundColumn>
                    <asp:BoundColumn DataField="strTitle"></asp:BoundColumn>
                    <asp:TemplateColumn>
                        <ItemTemplate>
                            <asp:DropDownList ID="ddlStatus" DataTextField="strTitle" DataValueField="ID" Runat="server"></asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateColumn>
                </Columns>
            </asp:DataGrid>
        </form>
    </body>
</HTML>

webform1.aspx.vb:
Public Class WebForm1
    Inherits System.Web.UI.Page
    Dim tblStatus As New DataTable

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not Page.IsPostBack Then
            'Trace.IsEnabled = True
            Dim tblData As New DataTable
            Dim rwRow As DataRow

            With tblStatus
                .Columns.Add(New DataColumn("ID", GetType(Integer)))
                .Columns.Add(New DataColumn("strTitle", GetType(String)))
            End With

            rwRow = tblStatus.NewRow
            rwRow.Item("ID") = 1
            rwRow.Item("strTitle") = "Ok"
            Call tblStatus.Rows.Add(rwRow)
            rwRow = tblStatus.NewRow
            rwRow.Item("ID") = 2
            rwRow.Item("strTitle") = "Knap så ok"
            Call tblStatus.Rows.Add(rwRow)
            rwRow = tblStatus.NewRow
            rwRow.Item("ID") = 3
            rwRow.Item("strTitle") = "Slet ikke ok"
            Call tblStatus.Rows.Add(rwRow)

            With tblData
                .Columns.Add(New DataColumn("ID", GetType(Integer)))
                .Columns.Add(New DataColumn("strTitle", GetType(String)))
                .Columns.Add(New DataColumn("intStatus", GetType(Integer)))
            End With

            For i As Integer = 1 To 10
                rwRow = tblData.NewRow
                rwRow.Item("ID") = i
                rwRow.Item("strTitle") = i.ToString & ": Hello World!"
                rwRow.Item("intStatus") = (i Mod 3) + 1
                tblData.Rows.Add(rwRow)
            Next

            DataGrid1.DataSource = tblData
            DataGrid1.DataBind()
        End If
    End Sub

    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        Select Case e.Item.ItemType
            Case ListItemType.AlternatingItem, ListItemType.Item
                Dim ddlStatus As DropDownList = e.Item.FindControl("ddlStatus")
                ddlStatus.DataSource = tblStatus
                Call ddlStatus.DataBind()
                ddlStatus.SelectedValue = e.Item.DataItem("intStatus")
        End Select
    End Sub
End Class
Avatar billede irsild Nybegynder
21. april 2004 - 15:40 #7
ok. Jeg har lidt problemer. Måske kunne nogen oversætte sub/metoden DataGrid1_ItemDataBound til  C#?  Hvor kaldes den metode?
Avatar billede jakobg Nybegynder
21. april 2004 - 16:05 #8
Metoden kaldes automatisk hver eneste gang der bliver lavet en linie i datagrid'et.

Men du kan faktisk klare det hele i aspx-siden, hvis det skal være:

Lav tblStatus protected:
Protected tblStatus As New DataTable

I aspx-siden retter du følgende:
...
<ItemTemplate>
<asp:DropDownList ID="ddlStatus" DataSource='<%# tblStatus %>' SelectedValue='<%# Container.Dataitem("intStatus") %>' DataTextField="strTitle" DataValueField="ID" Runat="server"></asp:DropDownList>
</ItemTemplate>
...

Det burde virke, omend løsningen ikke just er den kønneste. Kan du selv lave det om til C#? :)
Avatar billede jakobg Nybegynder
21. april 2004 - 16:13 #9
Du skal iøvrigt helt fjerne ItemDataBound-event'en, hvis du forsøger med ovenstående løsning.
Avatar billede irsild Nybegynder
21. april 2004 - 16:33 #10
Nu har jeg så dette i C#. Der er problemer i sub/metoden DataGrid1_ItemDataBound?

<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<script runat="server">

    // Insert page code here
        //
        void Page_Load()
        {
          if(!Page.IsPostBack)
          {
            DataTable tblData = new DataTable();
            DataTable tblStatus = new DataTable();
            DataRow rwRow;


            tblData.Columns.Add(new DataColumn("ID", typeof(int)));
            tblData.Columns.Add(new DataColumn("strTitle", typeof(string)));
            tblData.Columns.Add(new DataColumn("intStatus", typeof(string)));

            tblStatus.Columns.Add(new DataColumn("ID", typeof(int)));
            tblStatus.Columns.Add(new DataColumn("strTitle", typeof(string)));

            rwRow = tblStatus.NewRow();
            rwRow["ID"] = 1;
            rwRow["strTitle"] = "Ok";
            tblStatus.Rows.Add(rwRow);
            rwRow = tblStatus.NewRow();
            rwRow["ID"] = 2;
            rwRow["strTitle"] = "Knap så ok";
            tblStatus.Rows.Add(rwRow);
            rwRow = tblStatus.NewRow();
            rwRow["ID"] = 3;
            rwRow["strTitle"] = "Slet ikke ok";
            tblStatus.Rows.Add(rwRow);

            for(int i=0; i<10;i++)
            {
              rwRow = tblData.NewRow();
              rwRow["ID"] = i;
              rwRow["strTitle"] = i.ToString()+": Hello World!";
              rwRow["intStatus"] = (i % 3) + 1;
              tblData.Rows.Add(rwRow);
            }

            DataGrid1.DataSource = tblData;
            DataGrid1.DataBind();
            }
          }


    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
      if(e.Item.ItemType)
      {

          DropDownList ddlStatus = new DropDownList();
          ddlStatus = e.Item.FindControl("ddlStatus");
          ddlStatus.DataSource = tblStatus;
          ddlStatus.DataBind();
          ddlStatus.SelectedValue = e.Item.DataItem("intStatus");
      }
    }

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <!-- Insert content here -->
        <table class="NormalText" cellspacing="4" cellpadding="0" width="100%" border="0">
            <tbody>
                <tr>
                    <td align="middle">
                        <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" CellPadding="3" BorderWidth="1px" GridLines="Vertical" cssClass="Grid">
                            <FooterStyle cssclass="GridFooter"></FooterStyle>
                            <HeaderStyle cssclass="GridHeader"></HeaderStyle>
                            <PagerStyle horizontalalign="Center" cssclass="GridPage" mode="NumericPages"></PagerStyle>
                            <SelectedItemStyle cssclass="GridSelectedItem"></SelectedItemStyle>
                            <AlternatingItemStyle cssclass="GridAlternateSelected"></AlternatingItemStyle>
                            <ItemStyle cssclass="GridItem"></ItemStyle>
                            <Columns>
                                <asp:BoundColumn DataField="ID"></asp:BoundColumn>
                                <asp:BoundColumn DataField="strTitle"></asp:BoundColumn>
                                <asp:TemplateColumn HeaderText="Product">
                                    <ItemTemplate>
                                        <asp:DropDownList ID="ddlStatus" DataTextField="strTitle" DataValueField="ID" runat="server"></asp:DropDownList>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                            </Columns>
                        </asp:DataGrid>
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
</body>
</html>
Avatar billede jakobg Nybegynder
21. april 2004 - 16:52 #11
Prøv at gøre som jeg beskriver i de to foregående indlæg, det burde altså virke.
Du skal glemme alt om DataGrid1_ItemDataBound, slet den!
Avatar billede irsild Nybegynder
22. april 2004 - 09:37 #12
Jeg får følgende fejl:  The name 'tblStatus' does not exist in the class or namespace 'ASP.dropdowndatagrid_aspx'

dropdowndatagrid.aspx:
<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<script runat="server">

  public class Dropdown : System.Web.UI.Page
  {
    protected DataTable tblData = new DataTable();
    protected DataTable tblStatus = new DataTable();

    void Page_Load()
    {
      if(!Page.IsPostBack)
      {
        DataRow rwRow;

        tblData.Columns.Add(new DataColumn("ID", typeof(int)));
        tblData.Columns.Add(new DataColumn("strTitle", typeof(string)));
        tblData.Columns.Add(new DataColumn("intStatus", typeof(string)));

        tblStatus.Columns.Add(new DataColumn("ID", typeof(int)));
        tblStatus.Columns.Add(new DataColumn("strTitle", typeof(string)));

        rwRow = tblStatus.NewRow();
        rwRow["ID"] = 1;
        rwRow["strTitle"] = "Ok";
        tblStatus.Rows.Add(rwRow);
        rwRow = tblStatus.NewRow();
        rwRow["ID"] = 2;
        rwRow["strTitle"] = "Knap så ok";
        tblStatus.Rows.Add(rwRow);
        rwRow = tblStatus.NewRow();
        rwRow["ID"] = 3;
        rwRow["strTitle"] = "Slet ikke ok";
        tblStatus.Rows.Add(rwRow);

        for(int i=0; i<10;i++)
        {
          rwRow = tblData.NewRow();
          rwRow["ID"] = i;
          rwRow["strTitle"] = i.ToString()+": Hello World!";
          rwRow["intStatus"] = (i % 3) + 1;
          tblData.Rows.Add(rwRow);
        }

        DataGrid1.DataSource = tblData;
        DataGrid1.DataBind();
      }
    }
  }
</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <!-- Insert content here -->
        <table class="NormalText" cellspacing="4" cellpadding="0" width="100%" border="0">
            <tbody>
                <tr>
                    <td align="middle">
                        <asp:DataGrid id="DataGrid1" runat="server" cssClass="Grid" GridLines="Vertical" BorderWidth="1px" CellPadding="3" AutoGenerateColumns="False">
                            <FooterStyle cssclass="GridFooter"></FooterStyle>
                            <HeaderStyle cssclass="GridHeader"></HeaderStyle>
                            <PagerStyle horizontalalign="Center" cssclass="GridPage" mode="NumericPages"></PagerStyle>
                            <SelectedItemStyle cssclass="GridSelectedItem"></SelectedItemStyle>
                            <AlternatingItemStyle cssclass="GridAlternateSelected"></AlternatingItemStyle>
                            <ItemStyle cssclass="GridItem"></ItemStyle>
                            <Columns>
                                <asp:BoundColumn DataField="ID"></asp:BoundColumn>
                                <asp:BoundColumn DataField="strTitle"></asp:BoundColumn>
                                <asp:TemplateColumn HeaderText="Product">
                                    <ItemTemplate>
                                        <asp:DropDownList ID="ddlStatus" DataSource='<%# tblStatus %>' SelectedValue='<%# Container.Dataitem("intStatus") %>' DataTextField="strTitle" DataValueField="ID" Runat="server"></asp:DropDownList>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                            </Columns>
                        </asp:DataGrid>
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
</body>
</html>
Avatar billede jakobg Nybegynder
22. april 2004 - 09:46 #13
Du laver det ikke som codebehind? Så dur dén idé tilsyneladende ikke.
Lav en function eller property, som returnerer tblStatus, og angiv denne function/property som datasource til dropdownbox'en.

Hvor statisk er dataene i din dropdown? Skal den fyldes fra databasen, eller kan du skrive dem direkte i aspx-siden?
Avatar billede irsild Nybegynder
22. april 2004 - 10:11 #14
Nu får jeg dette:  System.Web.UI.WebControls.DataGridItem' does not contain a definition for 'Dataitem'

public DataView Func()
    {
        DataTable tblStatus = new DataTable();
        DataRow rwRow;

        tblStatus.Columns.Add(new DataColumn("ID", typeof(int)));
        tblStatus.Columns.Add(new DataColumn("strTitle", typeof(string)));

        rwRow = tblStatus.NewRow();
        rwRow["ID"] = 1;
        rwRow["strTitle"] = "Ok";
        tblStatus.Rows.Add(rwRow);
        rwRow = tblStatus.NewRow();
        rwRow["ID"] = 2;
        rwRow["strTitle"] = "Knap så ok";
        tblStatus.Rows.Add(rwRow);
        rwRow = tblStatus.NewRow();
        rwRow["ID"] = 3;
        rwRow["strTitle"] = "Slet ikke ok";
        tblStatus.Rows.Add(rwRow);

        DataView dv = new DataView(tblStatus);
        return dv;
    }

<asp:DataGrid id="DataGrid1" runat="server" cssClass="Grid" GridLines="Vertical" BorderWidth="1px" CellPadding="3" AutoGenerateColumns="False">
                            <FooterStyle cssclass="GridFooter"></FooterStyle>
                            <HeaderStyle cssclass="GridHeader"></HeaderStyle>
                            <PagerStyle horizontalalign="Center" cssclass="GridPage" mode="NumericPages"></PagerStyle>
                            <SelectedItemStyle cssclass="GridSelectedItem"></SelectedItemStyle>
                            <AlternatingItemStyle cssclass="GridAlternateSelected"></AlternatingItemStyle>
                            <ItemStyle cssclass="GridItem"></ItemStyle>
                            <Columns>
                                <asp:BoundColumn DataField="ID"></asp:BoundColumn>
                                <asp:BoundColumn DataField="strTitle"></asp:BoundColumn>
                                <asp:TemplateColumn HeaderText="Product">
                                    <ItemTemplate>
                                        <asp:DropDownList ID="ddlStatus" DataSource='<%# Func() %>' SelectedValue='<%# Container.Dataitem("intStatus") %>' DataTextField="strTitle" DataValueField="ID" Runat="server"></asp:DropDownList>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                            </Columns>
                        </asp:DataGrid>
Avatar billede jakobg Nybegynder
22. april 2004 - 11:03 #15
Beklager, men nu giver jeg op. Det er blevet for uoverskueligt...
Jeg har ingen problemer med at få mine eksempler til at køre i VB.NET, og jeg kender desværre slet ikke nok til C# til at kunne hjælpe dig igennem denne opgave.
Avatar billede irsild Nybegynder
22. april 2004 - 11:06 #16
ok. Tak for hjælpen.
Avatar billede irsild Nybegynder
26. april 2004 - 10:23 #17
Nu har jeg prøvet at lave det codebehind. Jeg har fået indhold i dropdown. Hvordan får jeg fat på det efter en submit?

dropdown.aspx:
<%@ Page language="c#" Codebehind="dropdown.aspx.cs" AutoEventWireup="false" Inherits="vsTest.Dropdown" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>dropdown</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundColumn DataField="ID"></asp:BoundColumn>
                    <asp:BoundColumn DataField="strTitle"></asp:BoundColumn>
                    <asp:TemplateColumn>
                        <ItemTemplate>
                            <asp:DropDownList ID="ddlStatus" DataSource="<%# tblStatus %>" DataTextField="strTitle" DataValueField="ID" Runat="server">
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateColumn>
                </Columns>
            </asp:DataGrid>
            <asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
        </form>
    </body>
</HTML>


dropdown.aspx.cs:
namespace vsTest
{
    /// <summary>
    /// Summary description for dropdown.
    /// </summary>
    public class Dropdown : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.DataGrid DataGrid1;
        protected System.Web.UI.WebControls.Button Button1;
        protected DataTable tblStatus = new DataTable();
        protected System.Web.UI.WebControls.DropDownList ddlStatus;       

        private void Page_Load(object sender, System.EventArgs e)
        {
            if(!Page.IsPostBack)
            {   
                DataTable tblData = new DataTable();               
                DataRow rwRow;
   
                tblStatus.Columns.Add(new DataColumn("ID", typeof(int)));
                tblStatus.Columns.Add(new DataColumn("strTitle", typeof(string)));       
   
                rwRow = tblStatus.NewRow();
                rwRow["ID"] = 1;
                rwRow["strTitle"] = "Ok";
                tblStatus.Rows.Add(rwRow);
                rwRow = tblStatus.NewRow();
                rwRow["ID"] = 2;
                rwRow["strTitle"] = "Knap så ok";
                tblStatus.Rows.Add(rwRow);
                rwRow = tblStatus.NewRow();
                rwRow["ID"] = 3;
                rwRow["strTitle"] = "Slet ikke ok";
                tblStatus.Rows.Add(rwRow);

                tblData.Columns.Add(new DataColumn("ID", typeof(int)));
                tblData.Columns.Add(new DataColumn("strTitle", typeof(string)));
                tblData.Columns.Add(new DataColumn("intStatus", typeof(string)));
   
                for(int i=0; i<10;i++)
                {
                    rwRow = tblData.NewRow();
                    rwRow["ID"] = i;
                    rwRow["strTitle"] = i.ToString()+": Hello World!";
                    rwRow["intStatus"] = (i % 3) + 1;
                    tblData.Rows.Add(rwRow);
                }
   
                DataGrid1.DataSource = tblData;
                DataGrid1.DataBind();               
            }
        }


        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        { 
            this.Button1.Click += new System.EventHandler(this.Button1_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void Button1_Click(object sender, System.EventArgs e)
        {
           
        }       
    }
}
Avatar billede jakobg Nybegynder
26. april 2004 - 10:53 #18
Når knappen ikke ligger i selve datagrid'et, bliver du nød til at gennemløbe datagrid'et "manuelt" og lede efter dropdown-boksen:´

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ddlTemp As DropDownList
        Dim i As Integer
        For Each dgiItem As DataGridItem In DataGrid1.Items
            If dgiItem.ItemType = ListItemType.AlternatingItem Or dgiItem.ItemType = ListItemType.Item Then
                ddlTemp = dgiItem.FindControl("ddlStatus")
                i = ddlTemp.SelectedValue
            End If
        Next
    End Sub
Avatar billede irsild Nybegynder
26. maj 2004 - 16:03 #19
Tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester