文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
知识点讲解
1、考试题中表示出售和售罄的三目运算符不会表示
三目运算符强大而独特,它提供了一种表达简单 if-else 语句的简写方法。该运算符由问号(?)和冒号(:)组成,其格式如下:
表达式 ? 表达式 : 表达式 ;
以下是使用条件运算符的语句示例:
x < 0 ? y = 10 : z = 20;
这个语句被称为条件表达式,它由 3 个子表达式组成,使用问号 ? 和冒号 : 分隔。这 3 个表达式分别是:x<0,y = 10 和 z = 20。
上面的条件表达式与以下 if-else 语句执行相同的操作:
if (x < 0)
{
y = 10;
}
else
{
z = 20;
}
2、Datagridview控件里面怎么做到每行都有按钮
- 添加 DataGridViewButtonColumn
dataGridView添加列的时候,类型选择DataGridViewButtonColumn
属性 | 定义 |
---|---|
Name | 列的名字 |
Text | 按钮单元格中显示的默认文字 |
UseColumnTextForButtonValue | 在所有按钮上显示Text,设置为true |
- 获得按钮被点击
点击DataGridViewButtonColumn的按钮时,会触发DataGridView.CellContentClick事件。
这个事件处理器可以检测被点击的按钮是否在列中,如果在就会被触发。
下面的例子就是当按钮被点击时,取得是第几行的按钮被点击了。
private void dgvMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvMain.Columns[e.ColumnIndex].Name == "Detail") //Detail为按钮列的Name值
{
//单击的处理代码
MessageBox.Show("行: " + e.RowIndex.ToString() + ", 列: " + e.ColumnIndex.ToString() + "; 被点击了");
}
}
3、添加单选按钮的数据到数据库中不知道怎么写
单选按钮:radioButton
//声明一个变量存储选中按钮的值
string sex = "";
//判断选则了哪一个按钮
if (radioButton1.Checked==true)
{
sex = radioButton1.Text;
//MessageBox.Show(sex);
}
if (radioButton2.Checked == true)
{
sex = radioButton1.Text;
//MessageBox.Show(sex);
}
将存放选中按钮的值的变量(sex)添加到数据库即可
4、绑定数据源
原理:设置dataGridView的DataSource属性
一般流程:查询数据库,把查询结果绑定到dataGridView 例如:
string sql = string.Format("SELECT [Id],[name],[type],[neirong],[day],[time] FROM [dbo].[Promotion]");
DataTable dt = DBHelper.GetTable(sql);
dataGridView1.AutoGenerateColumns = false;//禁止自动生成列
dataGridView1.DataSource = dt;//绑定数据源
五、不会将数据库里的数据导进表格、不会写DBHelper、不会窗体之间的连接
1、将数据库里的数据导进表格
第一步、就是上面的绑定数据源
第二步、设置dataGridView列的数据源
- 编辑列
- 设置列的数据源 DataPropertyName,对应数据库表的字段
2、DBHelper
DBHelper只能靠练,练习够了,也就永远都忘不了。
跟大家分享一下我常用的结构
public class DBHelper
{
//创建连接字符串
public static string connstr = @"Data Source=.;Initial Catalog=CINEMA;Integrated Security=True";
//查询
public static DataTable GetTable(string sql)
{
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
//创建空的数据池
DataTable dt = new DataTable();
SqlDataAdapter dap = new SqlDataAdapter(com);
//填充数据池
dap.Fill(dt);
conn.Close();
return dt;
}
//增删改
public static bool ExecuteNonQuery(string sql)
{
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
bool ret=com.ExecuteNonQuery() > 0;//返回受影响的行数是否大于0
conn.Close();
return ret;
}
}
3、窗体之间的连接
- 窗体之间的连接无非就两种——模式窗体和非模式窗体
方法 | 定义 |
---|---|
Show() | 非模式窗体 |
ShowDialog() | 模式窗体 |
模式窗体:以独占的方式运行,简单地说就是,一个进程里的某模式窗体没有运行完毕(关闭)就不能使用其它窗体,直至关闭它为止。看上去它好像就是独占的方式在运行。
非模式窗体:与模式窗体相反的就是非模式窗体。原理相反。