C# 代码隐藏中GridView的数据源
我已经有一个填充的GridView运行良好,但现在我需要设置一些参数。我正在HTML页面中填充gridview。以下是我的完整GridView HTML代码 希望你们不要认为它是垃圾邮件,因为它是一个巨大的代码。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
<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**