0

我想根据选择的单选按钮在网格视图中显示数据库值。我目前正在使用 RadioButtonList,我应该根据他们在单选按钮中选择的交易日期显示某些交易。例如,如果他们选择查看过去 1 个月的交易,我的 gridview 应该只显示过去一个月的交易。我目前正在使用 C#。

日期根据系统日期检索,并在进行交易时记录。我可以知道如何使用 gridview 将无线电事务与数据库链接吗?

在此处输入图像描述 在此处输入图像描述

这是我对 gridview 的编码。

     myConnection.ConnectionString = strConnectionString;
    SqlCommand cmd = new SqlCommand("SELECT thDate, thType, thAmountIn, thAmountOut from [Transaction] ORDER BY thDate, thType, thAmountIn, thAmountOut DESC", myConnection);
    myConnection.Open();
    SqlDataReader reader1 = cmd.ExecuteReader();
    GridView1.DataSource = reader1;
    GridView1.DataBind();
4

2 回答 2

0

鉴于我看不到您的任何代码:

在 RadioButtonList 的 OnSelectedIndexChanged 事件上,您可以使用 RadioButtonList1.SelectedItem.Value 选择哪个单选按钮

然后您可以使用 Sql 查询来获取结果并将其绑定到您的 Datagrid

例子 :

//This is the method for event OnSelectedIndexChanged 
void Index_Changed(Object sender, EventArgs e)
{
  //RadioButtonList1.SelectedItem.Value use the value
   and to built as sql query string on your sqldatasource
  //Execute 
  //attach datasource to datagrid
  //Databind datagrid
}
于 2012-07-26T17:25:41.873 回答
0

尝试这样的事情:

DataTable table= new DataTable("table");
using (SqlConnection sqlConn = new SqlConnection(@"Your Connection Stuff;"))
{
if (radioButton1.Checked == true)
{
using (SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM yourdatabase WHERE date = " + date, sqlConn))
{
da.Fill(table);
}
dataGridView1.DataSource = table;
}

这会将表格链接到数据网格:

dataGridView1.DataSource = table;

基于您的代码的示例:

您可以像这样获取当前日期:

DateTime date = DateTime.Now;

您的 sql 命令将变为:

SqlCommand cmd = new SqlCommand("SELECT thDate, thType, thAmountIn, thAmountOut from [Transaction] WHERE thDate = " + date + " ORDER BY thDate, thType, thAmountIn, thAmountOut DESC", myConnection); 

您可以像这样实现 if 语句:

if(radioButton1.Checked == true)
{
cmd += " WHERE thDate = " + date + ";
}
于 2012-07-26T17:32:51.160 回答