Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 代码隐藏中GridView的数据源_C#_Asp.net_Visual Studio 2010_Gridview - Fatal编程技术网

C# 代码隐藏中GridView的数据源

C# 代码隐藏中GridView的数据源,c#,asp.net,visual-studio-2010,gridview,C#,Asp.net,Visual Studio 2010,Gridview,我已经有一个填充的GridView运行良好,但现在我需要设置一些参数。我正在HTML页面中填充gridview。以下是我的完整GridView HTML代码 希望你们不要认为它是垃圾邮件,因为它是一个巨大的代码。 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" style="font-family: Verdana, Arial, Sans-Serif" DataKey

我已经有一个填充的GridView运行良好,但现在我需要设置一些参数。我正在HTML页面中填充gridview。以下是我的完整GridView HTML代码 希望你们不要认为它是垃圾邮件,因为它是一个巨大的代码。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" style="font-family: Verdana, Arial, Sans-Serif" 
            DataKeyNames="id"
            CssClass="gridview" DataSourceID="MyDataSource"
            AllowSorting ="True" AllowPaging="True" BackColor="#CCCCCC" 
            BorderStyle="Inset" BorderWidth="2px" BorderColor="GrayText"
            CellPadding="1"
            CellSpacing="5"
            HeaderStyle-HorizontalAlign="Center"
            OnRowDataBound="GridView1_RowDataBound" 
            ForeColor = "Black" RowStyle-CssClass="gridview" 
            onrowcommand="GridView1_RowCommand">            
            <AlternatingRowStyle BackColor="#CCCCCC" />
                <columns>

                    <asp:BoundField HeaderText="ID" DataField="id"  />
                    <asp:BoundField HeaderText="PRIORIDADE" DataField="prioridade" SortExpression="prioridade" ItemStyle-HorizontalAlign="Center" />
                    <asp:BoundField  HeaderText="SITUAÇÃO"  DataField="situacao" SortExpression="situacao" ItemStyle-HorizontalAlign="Center" >
                    <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField HeaderText="RESPONSAVEL" DataField="responsavel" SortExpression="responsavel" HeaderStyle-Width="65px" ItemStyle-HorizontalAlign="Center">
                    <HeaderStyle Width="65px" />
                    <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField HeaderText="DATA DE CADASTRO" DataField="dt_cadastro" DataFormatString="{0:dd/MM/yyyy}" HeaderStyle-Width="60px"
                    SortExpression="dt_cadastro" ItemStyle-HorizontalAlign="Center" >
                    <HeaderStyle Width="60px" />
                    <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField HeaderText="PREVISÃO DE TÉRMINO" DataField="previsao_termino" DataFormatString="{0:dd/MM/yyyy}" HeaderStyle-Width="60px"
                    SortExpression="previsao_termino" ItemStyle-HorizontalAlign="Center">
                    <HeaderStyle Width="60px" />
                    <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField HeaderText="PROJETO" DataField="projeto"  ItemStyle-HorizontalAlign="Center"></asp:BoundField>
                    <asp:BoundField HeaderText="FUNCIONALIDADE" DataField="funcionalidade" ItemStyle-HorizontalAlign="Center" />
                    <asp:BoundField HeaderText="CLUBE" DataField="clube" SortExpression="clube" ItemStyle-HorizontalAlign="Center" />

                    <asp:TemplateField HeaderStyle-Width="70px" HeaderText="VISUALIZAR" >
                        <ItemTemplate>
                            <asp:Button ID="Btn_Visualizar" runat="server" Text="VISUALIZAR" CssClass="Btn_Grid"  Font-Size="7pt" Font-Names="Verdana, Arial"
                            CommandName="visualizar" CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" />                            
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderStyle-Width="66px" HeaderText="ALTERAR">
                        <ItemTemplate>
                            <asp:Button ID="Btn_Alterar" runat="server" Text="ALTERAR" CssClass="Btn_Grid" Font-Size="7pt" Font-Names="Verdana, Arial"
                            CommandName="editar" CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" />
                        </ItemTemplate>
                    </asp:TemplateField>


                </columns>
            <EditRowStyle ForeColor="Black" CssClass="GridViewEditRow" />
            <FooterStyle BackColor="#CCCCCC" />
            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" BorderColor="White" BorderStyle="Solid" BorderWidth="1px" />
            <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
            <RowStyle BackColor="White" />
            <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />      
            </asp:GridView>           

            <asp:SqlDataSource ID="MyDataSource" runat="server"
               ConnectionString="server=localhost;User Id=xx;password=xxxx;database=xxxx"
               ProviderName ="MySql.Data.MySqlClient"

               SelectCommand="SELECT ch.id, sit.descricao as situacao, resp.responsavel, ch.dt_cadastro, ch.previsao_termino, func.descricao as funcionalidade, 
                              proj.descricao as projeto ,pr.id as prid, pr.prioridade, clb.clube
                              FROM chamados AS ch  
                              INNER JOIN prioridades as pr  ON ch.prioridade = pr.id
                              INNER JOIN clubes as clb ON ch.clube = clb.id 
                              INNER JOIN responsaveis as resp ON ch.responsavel = resp.id
                              INNER JOIN situacoes as sit ON ch.situacao = sit.id 
                              INNER JOIN projetos as proj ON ch.projeto = proj.id
                              INNER JOIN funcionalidades as func ON ch.funcionalidade = func.id WHERE situacao != 3"

               UpdateCommand="Update chamados SET status = @status , responsavel = @responsavel, 
               previsao_termino = @previsao_termino, titulo = @titulo WHERE id = @id"

               DeleteCommand="Delete FROM chamados WHERE id = @id">
               <DeleteParameters>
                            <asp:Parameter Name="id" Type="Int32" />

               </DeleteParameters>

               <UpdateParameters>
                            <asp:Parameter Name="status" Type="String" />
                            <asp:Parameter Name="responsavel" Type="String" />
                            <asp:Parameter Name="previsao_termino" Type="DateTime" />
                            <asp:Parameter Name="titulo" Type="String" />
                            <asp:Parameter Name="id" Type="Int32" />
               </UpdateParameters>
            </asp:SqlDataSource>
如何在Aspx.cs文件中执行所有这些操作,是否创建数据集并将其设置为GridView的数据源,以及如何将值设置为列?谢谢 Obs:我的手机上还有两个Buton。
[注释]-其他解决方案是在下面的代码中传递参数,是否可能?我需要传递会话的值

您也可以在代码隐藏页面中完成所有这些任务。 请参考以下链接以进一步参考


我终于找到了答案

我的aspx代码:这是我的Select命令,参数为@club


工作刚刚完美xD希望它能帮助其他人。。。再见,伙计们

我现在就看。。。但是告诉我。我有两个按钮,这些按钮有功能。我也可以做吗?使用您刚才发送给我的链接中的方法感谢这些功能是什么,您对这两个按钮的期望是什么。它们都会打开一个包含行详细信息的新页面。。。一个是查看,另一个是编辑。打开一个新的windos,一个我只看到详细信息,另一个我可以编辑取消状态。您可以在代码隐藏页面中执行这两项功能。您可以根据为按钮指定的命令名从rowcommand事件调用相同的页面。例如:item.commanname=visualizar然后执行与现在相同的操作,我现在也是这样做的。。。我只需要知道如何以现在的方式将参数值传递给gridview,我想这会更容易。。。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

getGrid();

    }
    public string GetCon()
    {
        return System.Configuration.ConfigurationManager.ConnectionStrings["conStr"].ConnectionString.ToString();
    }

    public void getGrid()
    {

        GridView grd = new GridView();        
        Page.Controls.Add(grd);
        form1.Controls.Add(grd);

        grd.ControlStyle.Font.Size = 9;


        SqlConnection conn = new SqlConnection(GetCon());
        conn1.Open();
        SqlCommand cmd4grid = new SqlCommand("Select * from tblCustomers", conn);
        SqlDataAdapter dad = new SqlDataAdapter(cmd4grid);
        DataTable dt = new DataTable();
        dad.Fill(dt);
        grd.DataSource = dt;
        grd.DataBind();
    }
}

**strong text**
MyDataSource.SelectParameters["club"] = new Parameter()
            {
                Name = "club",
                DefaultValue = "2" };
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

getGrid();

    }
    public string GetCon()
    {
        return System.Configuration.ConfigurationManager.ConnectionStrings["conStr"].ConnectionString.ToString();
    }

    public void getGrid()
    {

        GridView grd = new GridView();        
        Page.Controls.Add(grd);
        form1.Controls.Add(grd);

        grd.ControlStyle.Font.Size = 9;


        SqlConnection conn = new SqlConnection(GetCon());
        conn1.Open();
        SqlCommand cmd4grid = new SqlCommand("Select * from tblCustomers", conn);
        SqlDataAdapter dad = new SqlDataAdapter(cmd4grid);
        DataTable dt = new DataTable();
        dad.Fill(dt);
        grd.DataSource = dt;
        grd.DataBind();
    }
}

**strong text**