单选的话使用
MessageBoxShow(thislistBox1SelectedItemToString());
多选的话
得遍历thislistBox1SelectedItems才行
拖拽一个ContextMenuStrip到界面上,设置好列头要显示的菜单,可以通过编程来动态设置
DataGridView设置ColumnHeaderMouseClick事件:
代码如下:
private void DataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (eButton == MouseButtonsRight)
{
Point point = DataGridView1PointToScreen(new Point(0, 0));
int x = 0;
DataGridViewColumnCollection columns = DataGridView1Columns;
for (int i = 0; i < eColumnIndex; i++)
{
if (columns[i]Visible)
x += columns[i]Width;
}
menu1Show(DataGridView1PointToScreen(new Point(x + eX, eY)));
}
代码说明:
只处理右键事件
处理隐藏列的问题和菜单显示位置。
多行索引,就是数据库中的ID或者主键一类的。
选中一个,那么id=1
选中两个,那么id=1 and id=2
选中几个,那就有多少个索引。
当前的话,就直接获取。
多行的话,就循环遍历下咯/
参考个代码:
private string GetSelectedItemID(string controlID)
{
String selectedID;
selectedID = "";
//遍历DataGrid获得checked的ID
foreach (GridViewRow row in gvFlowListRows)
{
if (((CheckBox)rowFindControl(controlID))Checked == true)
selectedID += gvDataKeys[rowRowIndex]Value + ",";
}
if (selectedIDLength > 0)
selectedID = selectedIDSubstring(0, selectedIDLength - 1);
return selectedID;
}
调用方法时:
GetSelectedItemID(此处放置checkbox的ID);
数据库写法:
DELETE FROM T_Sys_Assgn_Rule WHERE rule_id IN ('+selectedID+')
如果你要取得选中的是DataGridView的第几行。楼上的方法就可以。
如果你要取得选择的是数据中的那条记录。可以用如下方法。
DataRowView drv = datagridviewSelectedRows[0]DataBoundItem as DataRowView;
drvRow就是选中的那条数据。
以上就是关于winform中怎么listbox 获得选中的value全部的内容,包括:winform中怎么listbox 获得选中的value、winform如何从DataGridView中从右键菜单获取一行数据、Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)