如何将数据库中的数据绑定到datagridview里面的textbox和checkbox中
我想以winfrom形式实现。datagridview里面。有3种控件:checkbox,textbox,button。我需要将数据库读出来的bool型数据(0/1)转化...
我想以winfrom形式实现。datagridview里面。有3种控件:checkbox,textbox,button。我需要将数据库读出来的bool型数据(0/1)转化为false/true,将nvarchar型的数据放到datagridview中的textbox里面。
附上我写的代码:
string sqlstr = "select * from MY_ROLEFUNCTION where roleid='" +RoleNameChoose.SelectedValue + "'";//sql语句。返回的结果有nvarchar,int型1位的数据
OracleDataReader odr = Office.DBUse_Oracle.selectdatareader(sqlstr);//到数据库中查询并返回一个datareader
DataTable dt = Office.DBUse_Oracle.selectdatatable(sqlstr);//返回一个datatable
dataGridView1.Rows.Add(dt.Rows.Count - 1);
int i = 0;
while (odr.Read())
{DataGridViewTextBoxCell FunctionNameText = (DataGridViewTextBoxCell)dataGridView1.Rows[i].Cells["FunctionName"];
DataGridViewCheckBoxCell F_ADDcheckCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells["F_ADD"];
FunctionNameText .value=ord["FunctionName"].tostring();
if (Convert.ToBoolean(dt.Rows[i][2]) == true){ F_ADDcheckCell.Value=true; }
i++;
}
请帮我改改。谢 展开
附上我写的代码:
string sqlstr = "select * from MY_ROLEFUNCTION where roleid='" +RoleNameChoose.SelectedValue + "'";//sql语句。返回的结果有nvarchar,int型1位的数据
OracleDataReader odr = Office.DBUse_Oracle.selectdatareader(sqlstr);//到数据库中查询并返回一个datareader
DataTable dt = Office.DBUse_Oracle.selectdatatable(sqlstr);//返回一个datatable
dataGridView1.Rows.Add(dt.Rows.Count - 1);
int i = 0;
while (odr.Read())
{DataGridViewTextBoxCell FunctionNameText = (DataGridViewTextBoxCell)dataGridView1.Rows[i].Cells["FunctionName"];
DataGridViewCheckBoxCell F_ADDcheckCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells["F_ADD"];
FunctionNameText .value=ord["FunctionName"].tostring();
if (Convert.ToBoolean(dt.Rows[i][2]) == true){ F_ADDcheckCell.Value=true; }
i++;
}
请帮我改改。谢 展开
展开全部
你好,你看下下边这段代码:
public DataTable InitSource()
{
DataTable dtTest = new DataTable();
dtTest.Columns.Add("selectTest", typeof(bool));
dtTest.Columns.Add("NameTest", typeof(string));
DataRow drTemp01 = dtTest.NewRow();
drTemp01["selectTest"] = true;
drTemp01["NameTest"] = "测试01";
dtTest.Rows.Add(drTemp01);
DataRow drTemp02 = dtTest.NewRow();
drTemp02["selectTest"] = false;
drTemp02["NameTest"] = "测试02";
dtTest.Rows.Add(drTemp02);
DataRow drTemp03 = dtTest.NewRow();
drTemp03["selectTest"] = true;
drTemp03["NameTest"] = "测试03";
dtTest.Rows.Add(drTemp03);
return dtTest;
}
private void btnOK_Click(object sender, EventArgs e)
{
DataTable dtSource = InitSource();
dataGridView1.DataSource = dtSource;
}
这样绑定就可以了。
如果有什么不明白,可以留个邮箱我把代码发你就懂了 。。 你要实现的效果不必要写那么多代码
public DataTable InitSource()
{
DataTable dtTest = new DataTable();
dtTest.Columns.Add("selectTest", typeof(bool));
dtTest.Columns.Add("NameTest", typeof(string));
DataRow drTemp01 = dtTest.NewRow();
drTemp01["selectTest"] = true;
drTemp01["NameTest"] = "测试01";
dtTest.Rows.Add(drTemp01);
DataRow drTemp02 = dtTest.NewRow();
drTemp02["selectTest"] = false;
drTemp02["NameTest"] = "测试02";
dtTest.Rows.Add(drTemp02);
DataRow drTemp03 = dtTest.NewRow();
drTemp03["selectTest"] = true;
drTemp03["NameTest"] = "测试03";
dtTest.Rows.Add(drTemp03);
return dtTest;
}
private void btnOK_Click(object sender, EventArgs e)
{
DataTable dtSource = InitSource();
dataGridView1.DataSource = dtSource;
}
这样绑定就可以了。
如果有什么不明白,可以留个邮箱我把代码发你就懂了 。。 你要实现的效果不必要写那么多代码
展开全部
dataGridView的CellClick事件处理
当点击一行
string id = this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Trim();
其中Cells[0]应该是你的主键所在列,这样取到了要删除记录的id,执行删除语句就行了
当点击一行
string id = this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Trim();
其中Cells[0]应该是你的主键所在列,这样取到了要删除记录的id,执行删除语句就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在前台中相应控件中用Eval或者Bind表达式绑定查询出来的字段如:
<asp:TextBox ID="txtUserName" runat="server" Text='<%#Eval("userName")%>'></asp:TextBox>
<asp:TextBox ID="txtUserName" runat="server" Text='<%#Eval("userName")%>'></asp:TextBox>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请详细在说明一下你的问题,是显示在datagridview里面的数据选择之后再显示在textbox和checkbox中吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询